home *** CD-ROM | disk | FTP | other *** search
/ Programming a Multiplayer FPS in DirectX / Programming a Multiplayer FPS in DirectX (Companion CD).iso / DirectX / dxsdk_oct2004.exe / dxsdk.exe / Include / strmif.h < prev    next >
Encoding:
C/C++ Source or Header  |  2004-09-28  |  895.3 KB  |  30,963 lines

  1.  
  2. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  3.  
  4. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  5.  
  6.  
  7.  /* File created by MIDL compiler version 6.00.0347 */
  8. /* Compiler settings for strmif.idl:
  9.     Oicf, W1, Zp8, env=Win32 (32b run)
  10.     protocol : dce , ms_ext, c_ext, robust
  11.     error checks: allocation ref bounds_check enum stub_data 
  12.     VC __declspec() decoration level: 
  13.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  14.          DECLSPEC_UUID(), MIDL_INTERFACE()
  15. */
  16. //@@MIDL_FILE_HEADING(  )
  17.  
  18.  
  19. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  20. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  21. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  22. #endif
  23.  
  24. #include "rpc.h"
  25. #include "rpcndr.h"
  26.  
  27. #ifndef __RPCNDR_H_VERSION__
  28. #error this stub requires an updated version of <rpcndr.h>
  29. #endif // __RPCNDR_H_VERSION__
  30.  
  31. #ifndef COM_NO_WINDOWS_H
  32. #include "windows.h"
  33. #include "ole2.h"
  34. #endif /*COM_NO_WINDOWS_H*/
  35.  
  36. #ifndef __strmif_h__
  37. #define __strmif_h__
  38.  
  39. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  40. #pragma once
  41. #endif
  42.  
  43. /* Forward Declarations */ 
  44.  
  45. #ifndef __ICreateDevEnum_FWD_DEFINED__
  46. #define __ICreateDevEnum_FWD_DEFINED__
  47. typedef interface ICreateDevEnum ICreateDevEnum;
  48. #endif     /* __ICreateDevEnum_FWD_DEFINED__ */
  49.  
  50.  
  51. #ifndef __IPin_FWD_DEFINED__
  52. #define __IPin_FWD_DEFINED__
  53. typedef interface IPin IPin;
  54. #endif     /* __IPin_FWD_DEFINED__ */
  55.  
  56.  
  57. #ifndef __IEnumPins_FWD_DEFINED__
  58. #define __IEnumPins_FWD_DEFINED__
  59. typedef interface IEnumPins IEnumPins;
  60. #endif     /* __IEnumPins_FWD_DEFINED__ */
  61.  
  62.  
  63. #ifndef __IEnumMediaTypes_FWD_DEFINED__
  64. #define __IEnumMediaTypes_FWD_DEFINED__
  65. typedef interface IEnumMediaTypes IEnumMediaTypes;
  66. #endif     /* __IEnumMediaTypes_FWD_DEFINED__ */
  67.  
  68.  
  69. #ifndef __IFilterGraph_FWD_DEFINED__
  70. #define __IFilterGraph_FWD_DEFINED__
  71. typedef interface IFilterGraph IFilterGraph;
  72. #endif     /* __IFilterGraph_FWD_DEFINED__ */
  73.  
  74.  
  75. #ifndef __IEnumFilters_FWD_DEFINED__
  76. #define __IEnumFilters_FWD_DEFINED__
  77. typedef interface IEnumFilters IEnumFilters;
  78. #endif     /* __IEnumFilters_FWD_DEFINED__ */
  79.  
  80.  
  81. #ifndef __IMediaFilter_FWD_DEFINED__
  82. #define __IMediaFilter_FWD_DEFINED__
  83. typedef interface IMediaFilter IMediaFilter;
  84. #endif     /* __IMediaFilter_FWD_DEFINED__ */
  85.  
  86.  
  87. #ifndef __IBaseFilter_FWD_DEFINED__
  88. #define __IBaseFilter_FWD_DEFINED__
  89. typedef interface IBaseFilter IBaseFilter;
  90. #endif     /* __IBaseFilter_FWD_DEFINED__ */
  91.  
  92.  
  93. #ifndef __IReferenceClock_FWD_DEFINED__
  94. #define __IReferenceClock_FWD_DEFINED__
  95. typedef interface IReferenceClock IReferenceClock;
  96. #endif     /* __IReferenceClock_FWD_DEFINED__ */
  97.  
  98.  
  99. #ifndef __IReferenceClock2_FWD_DEFINED__
  100. #define __IReferenceClock2_FWD_DEFINED__
  101. typedef interface IReferenceClock2 IReferenceClock2;
  102. #endif     /* __IReferenceClock2_FWD_DEFINED__ */
  103.  
  104.  
  105. #ifndef __IMediaSample_FWD_DEFINED__
  106. #define __IMediaSample_FWD_DEFINED__
  107. typedef interface IMediaSample IMediaSample;
  108. #endif     /* __IMediaSample_FWD_DEFINED__ */
  109.  
  110.  
  111. #ifndef __IMediaSample2_FWD_DEFINED__
  112. #define __IMediaSample2_FWD_DEFINED__
  113. typedef interface IMediaSample2 IMediaSample2;
  114. #endif     /* __IMediaSample2_FWD_DEFINED__ */
  115.  
  116.  
  117. #ifndef __IMemAllocator_FWD_DEFINED__
  118. #define __IMemAllocator_FWD_DEFINED__
  119. typedef interface IMemAllocator IMemAllocator;
  120. #endif     /* __IMemAllocator_FWD_DEFINED__ */
  121.  
  122.  
  123. #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__
  124. #define __IMemAllocatorCallbackTemp_FWD_DEFINED__
  125. typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp;
  126. #endif     /* __IMemAllocatorCallbackTemp_FWD_DEFINED__ */
  127.  
  128.  
  129. #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
  130. #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
  131. typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp;
  132. #endif     /* __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ */
  133.  
  134.  
  135. #ifndef __IMemInputPin_FWD_DEFINED__
  136. #define __IMemInputPin_FWD_DEFINED__
  137. typedef interface IMemInputPin IMemInputPin;
  138. #endif     /* __IMemInputPin_FWD_DEFINED__ */
  139.  
  140.  
  141. #ifndef __IAMovieSetup_FWD_DEFINED__
  142. #define __IAMovieSetup_FWD_DEFINED__
  143. typedef interface IAMovieSetup IAMovieSetup;
  144. #endif     /* __IAMovieSetup_FWD_DEFINED__ */
  145.  
  146.  
  147. #ifndef __IMediaSeeking_FWD_DEFINED__
  148. #define __IMediaSeeking_FWD_DEFINED__
  149. typedef interface IMediaSeeking IMediaSeeking;
  150. #endif     /* __IMediaSeeking_FWD_DEFINED__ */
  151.  
  152.  
  153. #ifndef __IEnumRegFilters_FWD_DEFINED__
  154. #define __IEnumRegFilters_FWD_DEFINED__
  155. typedef interface IEnumRegFilters IEnumRegFilters;
  156. #endif     /* __IEnumRegFilters_FWD_DEFINED__ */
  157.  
  158.  
  159. #ifndef __IFilterMapper_FWD_DEFINED__
  160. #define __IFilterMapper_FWD_DEFINED__
  161. typedef interface IFilterMapper IFilterMapper;
  162. #endif     /* __IFilterMapper_FWD_DEFINED__ */
  163.  
  164.  
  165. #ifndef __IFilterMapper2_FWD_DEFINED__
  166. #define __IFilterMapper2_FWD_DEFINED__
  167. typedef interface IFilterMapper2 IFilterMapper2;
  168. #endif     /* __IFilterMapper2_FWD_DEFINED__ */
  169.  
  170.  
  171. #ifndef __IFilterMapper3_FWD_DEFINED__
  172. #define __IFilterMapper3_FWD_DEFINED__
  173. typedef interface IFilterMapper3 IFilterMapper3;
  174. #endif     /* __IFilterMapper3_FWD_DEFINED__ */
  175.  
  176.  
  177. #ifndef __IQualityControl_FWD_DEFINED__
  178. #define __IQualityControl_FWD_DEFINED__
  179. typedef interface IQualityControl IQualityControl;
  180. #endif     /* __IQualityControl_FWD_DEFINED__ */
  181.  
  182.  
  183. #ifndef __IOverlayNotify_FWD_DEFINED__
  184. #define __IOverlayNotify_FWD_DEFINED__
  185. typedef interface IOverlayNotify IOverlayNotify;
  186. #endif     /* __IOverlayNotify_FWD_DEFINED__ */
  187.  
  188.  
  189. #ifndef __IOverlayNotify2_FWD_DEFINED__
  190. #define __IOverlayNotify2_FWD_DEFINED__
  191. typedef interface IOverlayNotify2 IOverlayNotify2;
  192. #endif     /* __IOverlayNotify2_FWD_DEFINED__ */
  193.  
  194.  
  195. #ifndef __IOverlay_FWD_DEFINED__
  196. #define __IOverlay_FWD_DEFINED__
  197. typedef interface IOverlay IOverlay;
  198. #endif     /* __IOverlay_FWD_DEFINED__ */
  199.  
  200.  
  201. #ifndef __IMediaEventSink_FWD_DEFINED__
  202. #define __IMediaEventSink_FWD_DEFINED__
  203. typedef interface IMediaEventSink IMediaEventSink;
  204. #endif     /* __IMediaEventSink_FWD_DEFINED__ */
  205.  
  206.  
  207. #ifndef __IFileSourceFilter_FWD_DEFINED__
  208. #define __IFileSourceFilter_FWD_DEFINED__
  209. typedef interface IFileSourceFilter IFileSourceFilter;
  210. #endif     /* __IFileSourceFilter_FWD_DEFINED__ */
  211.  
  212.  
  213. #ifndef __IFileSinkFilter_FWD_DEFINED__
  214. #define __IFileSinkFilter_FWD_DEFINED__
  215. typedef interface IFileSinkFilter IFileSinkFilter;
  216. #endif     /* __IFileSinkFilter_FWD_DEFINED__ */
  217.  
  218.  
  219. #ifndef __IFileSinkFilter2_FWD_DEFINED__
  220. #define __IFileSinkFilter2_FWD_DEFINED__
  221. typedef interface IFileSinkFilter2 IFileSinkFilter2;
  222. #endif     /* __IFileSinkFilter2_FWD_DEFINED__ */
  223.  
  224.  
  225. #ifndef __IGraphBuilder_FWD_DEFINED__
  226. #define __IGraphBuilder_FWD_DEFINED__
  227. typedef interface IGraphBuilder IGraphBuilder;
  228. #endif     /* __IGraphBuilder_FWD_DEFINED__ */
  229.  
  230.  
  231. #ifndef __ICaptureGraphBuilder_FWD_DEFINED__
  232. #define __ICaptureGraphBuilder_FWD_DEFINED__
  233. typedef interface ICaptureGraphBuilder ICaptureGraphBuilder;
  234. #endif     /* __ICaptureGraphBuilder_FWD_DEFINED__ */
  235.  
  236.  
  237. #ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__
  238. #define __IAMCopyCaptureFileProgress_FWD_DEFINED__
  239. typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress;
  240. #endif     /* __IAMCopyCaptureFileProgress_FWD_DEFINED__ */
  241.  
  242.  
  243. #ifndef __ICaptureGraphBuilder2_FWD_DEFINED__
  244. #define __ICaptureGraphBuilder2_FWD_DEFINED__
  245. typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2;
  246. #endif     /* __ICaptureGraphBuilder2_FWD_DEFINED__ */
  247.  
  248.  
  249. #ifndef __IFilterGraph2_FWD_DEFINED__
  250. #define __IFilterGraph2_FWD_DEFINED__
  251. typedef interface IFilterGraph2 IFilterGraph2;
  252. #endif     /* __IFilterGraph2_FWD_DEFINED__ */
  253.  
  254.  
  255. #ifndef __IStreamBuilder_FWD_DEFINED__
  256. #define __IStreamBuilder_FWD_DEFINED__
  257. typedef interface IStreamBuilder IStreamBuilder;
  258. #endif     /* __IStreamBuilder_FWD_DEFINED__ */
  259.  
  260.  
  261. #ifndef __IAsyncReader_FWD_DEFINED__
  262. #define __IAsyncReader_FWD_DEFINED__
  263. typedef interface IAsyncReader IAsyncReader;
  264. #endif     /* __IAsyncReader_FWD_DEFINED__ */
  265.  
  266.  
  267. #ifndef __IGraphVersion_FWD_DEFINED__
  268. #define __IGraphVersion_FWD_DEFINED__
  269. typedef interface IGraphVersion IGraphVersion;
  270. #endif     /* __IGraphVersion_FWD_DEFINED__ */
  271.  
  272.  
  273. #ifndef __IResourceConsumer_FWD_DEFINED__
  274. #define __IResourceConsumer_FWD_DEFINED__
  275. typedef interface IResourceConsumer IResourceConsumer;
  276. #endif     /* __IResourceConsumer_FWD_DEFINED__ */
  277.  
  278.  
  279. #ifndef __IResourceManager_FWD_DEFINED__
  280. #define __IResourceManager_FWD_DEFINED__
  281. typedef interface IResourceManager IResourceManager;
  282. #endif     /* __IResourceManager_FWD_DEFINED__ */
  283.  
  284.  
  285. #ifndef __IDistributorNotify_FWD_DEFINED__
  286. #define __IDistributorNotify_FWD_DEFINED__
  287. typedef interface IDistributorNotify IDistributorNotify;
  288. #endif     /* __IDistributorNotify_FWD_DEFINED__ */
  289.  
  290.  
  291. #ifndef __IAMStreamControl_FWD_DEFINED__
  292. #define __IAMStreamControl_FWD_DEFINED__
  293. typedef interface IAMStreamControl IAMStreamControl;
  294. #endif     /* __IAMStreamControl_FWD_DEFINED__ */
  295.  
  296.  
  297. #ifndef __ISeekingPassThru_FWD_DEFINED__
  298. #define __ISeekingPassThru_FWD_DEFINED__
  299. typedef interface ISeekingPassThru ISeekingPassThru;
  300. #endif     /* __ISeekingPassThru_FWD_DEFINED__ */
  301.  
  302.  
  303. #ifndef __IAMStreamConfig_FWD_DEFINED__
  304. #define __IAMStreamConfig_FWD_DEFINED__
  305. typedef interface IAMStreamConfig IAMStreamConfig;
  306. #endif     /* __IAMStreamConfig_FWD_DEFINED__ */
  307.  
  308.  
  309. #ifndef __IConfigInterleaving_FWD_DEFINED__
  310. #define __IConfigInterleaving_FWD_DEFINED__
  311. typedef interface IConfigInterleaving IConfigInterleaving;
  312. #endif     /* __IConfigInterleaving_FWD_DEFINED__ */
  313.  
  314.  
  315. #ifndef __IConfigAviMux_FWD_DEFINED__
  316. #define __IConfigAviMux_FWD_DEFINED__
  317. typedef interface IConfigAviMux IConfigAviMux;
  318. #endif     /* __IConfigAviMux_FWD_DEFINED__ */
  319.  
  320.  
  321. #ifndef __IAMVideoCompression_FWD_DEFINED__
  322. #define __IAMVideoCompression_FWD_DEFINED__
  323. typedef interface IAMVideoCompression IAMVideoCompression;
  324. #endif     /* __IAMVideoCompression_FWD_DEFINED__ */
  325.  
  326.  
  327. #ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__
  328. #define __IAMVfwCaptureDialogs_FWD_DEFINED__
  329. typedef interface IAMVfwCaptureDialogs IAMVfwCaptureDialogs;
  330. #endif     /* __IAMVfwCaptureDialogs_FWD_DEFINED__ */
  331.  
  332.  
  333. #ifndef __IAMVfwCompressDialogs_FWD_DEFINED__
  334. #define __IAMVfwCompressDialogs_FWD_DEFINED__
  335. typedef interface IAMVfwCompressDialogs IAMVfwCompressDialogs;
  336. #endif     /* __IAMVfwCompressDialogs_FWD_DEFINED__ */
  337.  
  338.  
  339. #ifndef __IAMDroppedFrames_FWD_DEFINED__
  340. #define __IAMDroppedFrames_FWD_DEFINED__
  341. typedef interface IAMDroppedFrames IAMDroppedFrames;
  342. #endif     /* __IAMDroppedFrames_FWD_DEFINED__ */
  343.  
  344.  
  345. #ifndef __IAMAudioInputMixer_FWD_DEFINED__
  346. #define __IAMAudioInputMixer_FWD_DEFINED__
  347. typedef interface IAMAudioInputMixer IAMAudioInputMixer;
  348. #endif     /* __IAMAudioInputMixer_FWD_DEFINED__ */
  349.  
  350.  
  351. #ifndef __IAMBufferNegotiation_FWD_DEFINED__
  352. #define __IAMBufferNegotiation_FWD_DEFINED__
  353. typedef interface IAMBufferNegotiation IAMBufferNegotiation;
  354. #endif     /* __IAMBufferNegotiation_FWD_DEFINED__ */
  355.  
  356.  
  357. #ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__
  358. #define __IAMAnalogVideoDecoder_FWD_DEFINED__
  359. typedef interface IAMAnalogVideoDecoder IAMAnalogVideoDecoder;
  360. #endif     /* __IAMAnalogVideoDecoder_FWD_DEFINED__ */
  361.  
  362.  
  363. #ifndef __IAMVideoProcAmp_FWD_DEFINED__
  364. #define __IAMVideoProcAmp_FWD_DEFINED__
  365. typedef interface IAMVideoProcAmp IAMVideoProcAmp;
  366. #endif     /* __IAMVideoProcAmp_FWD_DEFINED__ */
  367.  
  368.  
  369. #ifndef __IAMCameraControl_FWD_DEFINED__
  370. #define __IAMCameraControl_FWD_DEFINED__
  371. typedef interface IAMCameraControl IAMCameraControl;
  372. #endif     /* __IAMCameraControl_FWD_DEFINED__ */
  373.  
  374.  
  375. #ifndef __IAMVideoControl_FWD_DEFINED__
  376. #define __IAMVideoControl_FWD_DEFINED__
  377. typedef interface IAMVideoControl IAMVideoControl;
  378. #endif     /* __IAMVideoControl_FWD_DEFINED__ */
  379.  
  380.  
  381. #ifndef __IAMCrossbar_FWD_DEFINED__
  382. #define __IAMCrossbar_FWD_DEFINED__
  383. typedef interface IAMCrossbar IAMCrossbar;
  384. #endif     /* __IAMCrossbar_FWD_DEFINED__ */
  385.  
  386.  
  387. #ifndef __IAMTuner_FWD_DEFINED__
  388. #define __IAMTuner_FWD_DEFINED__
  389. typedef interface IAMTuner IAMTuner;
  390. #endif     /* __IAMTuner_FWD_DEFINED__ */
  391.  
  392.  
  393. #ifndef __IAMTunerNotification_FWD_DEFINED__
  394. #define __IAMTunerNotification_FWD_DEFINED__
  395. typedef interface IAMTunerNotification IAMTunerNotification;
  396. #endif     /* __IAMTunerNotification_FWD_DEFINED__ */
  397.  
  398.  
  399. #ifndef __IAMTVTuner_FWD_DEFINED__
  400. #define __IAMTVTuner_FWD_DEFINED__
  401. typedef interface IAMTVTuner IAMTVTuner;
  402. #endif     /* __IAMTVTuner_FWD_DEFINED__ */
  403.  
  404.  
  405. #ifndef __IBPCSatelliteTuner_FWD_DEFINED__
  406. #define __IBPCSatelliteTuner_FWD_DEFINED__
  407. typedef interface IBPCSatelliteTuner IBPCSatelliteTuner;
  408. #endif     /* __IBPCSatelliteTuner_FWD_DEFINED__ */
  409.  
  410.  
  411. #ifndef __IAMTVAudio_FWD_DEFINED__
  412. #define __IAMTVAudio_FWD_DEFINED__
  413. typedef interface IAMTVAudio IAMTVAudio;
  414. #endif     /* __IAMTVAudio_FWD_DEFINED__ */
  415.  
  416.  
  417. #ifndef __IAMTVAudioNotification_FWD_DEFINED__
  418. #define __IAMTVAudioNotification_FWD_DEFINED__
  419. typedef interface IAMTVAudioNotification IAMTVAudioNotification;
  420. #endif     /* __IAMTVAudioNotification_FWD_DEFINED__ */
  421.  
  422.  
  423. #ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__
  424. #define __IAMAnalogVideoEncoder_FWD_DEFINED__
  425. typedef interface IAMAnalogVideoEncoder IAMAnalogVideoEncoder;
  426. #endif     /* __IAMAnalogVideoEncoder_FWD_DEFINED__ */
  427.  
  428.  
  429. #ifndef __IKsPropertySet_FWD_DEFINED__
  430. #define __IKsPropertySet_FWD_DEFINED__
  431. typedef interface IKsPropertySet IKsPropertySet;
  432. #endif     /* __IKsPropertySet_FWD_DEFINED__ */
  433.  
  434.  
  435. #ifndef __IMediaPropertyBag_FWD_DEFINED__
  436. #define __IMediaPropertyBag_FWD_DEFINED__
  437. typedef interface IMediaPropertyBag IMediaPropertyBag;
  438. #endif     /* __IMediaPropertyBag_FWD_DEFINED__ */
  439.  
  440.  
  441. #ifndef __IPersistMediaPropertyBag_FWD_DEFINED__
  442. #define __IPersistMediaPropertyBag_FWD_DEFINED__
  443. typedef interface IPersistMediaPropertyBag IPersistMediaPropertyBag;
  444. #endif     /* __IPersistMediaPropertyBag_FWD_DEFINED__ */
  445.  
  446.  
  447. #ifndef __IAMPhysicalPinInfo_FWD_DEFINED__
  448. #define __IAMPhysicalPinInfo_FWD_DEFINED__
  449. typedef interface IAMPhysicalPinInfo IAMPhysicalPinInfo;
  450. #endif     /* __IAMPhysicalPinInfo_FWD_DEFINED__ */
  451.  
  452.  
  453. #ifndef __IAMExtDevice_FWD_DEFINED__
  454. #define __IAMExtDevice_FWD_DEFINED__
  455. typedef interface IAMExtDevice IAMExtDevice;
  456. #endif     /* __IAMExtDevice_FWD_DEFINED__ */
  457.  
  458.  
  459. #ifndef __IAMExtTransport_FWD_DEFINED__
  460. #define __IAMExtTransport_FWD_DEFINED__
  461. typedef interface IAMExtTransport IAMExtTransport;
  462. #endif     /* __IAMExtTransport_FWD_DEFINED__ */
  463.  
  464.  
  465. #ifndef __IAMTimecodeReader_FWD_DEFINED__
  466. #define __IAMTimecodeReader_FWD_DEFINED__
  467. typedef interface IAMTimecodeReader IAMTimecodeReader;
  468. #endif     /* __IAMTimecodeReader_FWD_DEFINED__ */
  469.  
  470.  
  471. #ifndef __IAMTimecodeGenerator_FWD_DEFINED__
  472. #define __IAMTimecodeGenerator_FWD_DEFINED__
  473. typedef interface IAMTimecodeGenerator IAMTimecodeGenerator;
  474. #endif     /* __IAMTimecodeGenerator_FWD_DEFINED__ */
  475.  
  476.  
  477. #ifndef __IAMTimecodeDisplay_FWD_DEFINED__
  478. #define __IAMTimecodeDisplay_FWD_DEFINED__
  479. typedef interface IAMTimecodeDisplay IAMTimecodeDisplay;
  480. #endif     /* __IAMTimecodeDisplay_FWD_DEFINED__ */
  481.  
  482.  
  483. #ifndef __IAMDevMemoryAllocator_FWD_DEFINED__
  484. #define __IAMDevMemoryAllocator_FWD_DEFINED__
  485. typedef interface IAMDevMemoryAllocator IAMDevMemoryAllocator;
  486. #endif     /* __IAMDevMemoryAllocator_FWD_DEFINED__ */
  487.  
  488.  
  489. #ifndef __IAMDevMemoryControl_FWD_DEFINED__
  490. #define __IAMDevMemoryControl_FWD_DEFINED__
  491. typedef interface IAMDevMemoryControl IAMDevMemoryControl;
  492. #endif     /* __IAMDevMemoryControl_FWD_DEFINED__ */
  493.  
  494.  
  495. #ifndef __IAMStreamSelect_FWD_DEFINED__
  496. #define __IAMStreamSelect_FWD_DEFINED__
  497. typedef interface IAMStreamSelect IAMStreamSelect;
  498. #endif     /* __IAMStreamSelect_FWD_DEFINED__ */
  499.  
  500.  
  501. #ifndef __IAMResourceControl_FWD_DEFINED__
  502. #define __IAMResourceControl_FWD_DEFINED__
  503. typedef interface IAMResourceControl IAMResourceControl;
  504. #endif     /* __IAMResourceControl_FWD_DEFINED__ */
  505.  
  506.  
  507. #ifndef __IAMClockAdjust_FWD_DEFINED__
  508. #define __IAMClockAdjust_FWD_DEFINED__
  509. typedef interface IAMClockAdjust IAMClockAdjust;
  510. #endif     /* __IAMClockAdjust_FWD_DEFINED__ */
  511.  
  512.  
  513. #ifndef __IAMFilterMiscFlags_FWD_DEFINED__
  514. #define __IAMFilterMiscFlags_FWD_DEFINED__
  515. typedef interface IAMFilterMiscFlags IAMFilterMiscFlags;
  516. #endif     /* __IAMFilterMiscFlags_FWD_DEFINED__ */
  517.  
  518.  
  519. #ifndef __IDrawVideoImage_FWD_DEFINED__
  520. #define __IDrawVideoImage_FWD_DEFINED__
  521. typedef interface IDrawVideoImage IDrawVideoImage;
  522. #endif     /* __IDrawVideoImage_FWD_DEFINED__ */
  523.  
  524.  
  525. #ifndef __IDecimateVideoImage_FWD_DEFINED__
  526. #define __IDecimateVideoImage_FWD_DEFINED__
  527. typedef interface IDecimateVideoImage IDecimateVideoImage;
  528. #endif     /* __IDecimateVideoImage_FWD_DEFINED__ */
  529.  
  530.  
  531. #ifndef __IAMVideoDecimationProperties_FWD_DEFINED__
  532. #define __IAMVideoDecimationProperties_FWD_DEFINED__
  533. typedef interface IAMVideoDecimationProperties IAMVideoDecimationProperties;
  534. #endif     /* __IAMVideoDecimationProperties_FWD_DEFINED__ */
  535.  
  536.  
  537. #ifndef __IVideoFrameStep_FWD_DEFINED__
  538. #define __IVideoFrameStep_FWD_DEFINED__
  539. typedef interface IVideoFrameStep IVideoFrameStep;
  540. #endif     /* __IVideoFrameStep_FWD_DEFINED__ */
  541.  
  542.  
  543. #ifndef __IAMLatency_FWD_DEFINED__
  544. #define __IAMLatency_FWD_DEFINED__
  545. typedef interface IAMLatency IAMLatency;
  546. #endif     /* __IAMLatency_FWD_DEFINED__ */
  547.  
  548.  
  549. #ifndef __IAMPushSource_FWD_DEFINED__
  550. #define __IAMPushSource_FWD_DEFINED__
  551. typedef interface IAMPushSource IAMPushSource;
  552. #endif     /* __IAMPushSource_FWD_DEFINED__ */
  553.  
  554.  
  555. #ifndef __IAMDeviceRemoval_FWD_DEFINED__
  556. #define __IAMDeviceRemoval_FWD_DEFINED__
  557. typedef interface IAMDeviceRemoval IAMDeviceRemoval;
  558. #endif     /* __IAMDeviceRemoval_FWD_DEFINED__ */
  559.  
  560.  
  561. #ifndef __IDVEnc_FWD_DEFINED__
  562. #define __IDVEnc_FWD_DEFINED__
  563. typedef interface IDVEnc IDVEnc;
  564. #endif     /* __IDVEnc_FWD_DEFINED__ */
  565.  
  566.  
  567. #ifndef __IIPDVDec_FWD_DEFINED__
  568. #define __IIPDVDec_FWD_DEFINED__
  569. typedef interface IIPDVDec IIPDVDec;
  570. #endif     /* __IIPDVDec_FWD_DEFINED__ */
  571.  
  572.  
  573. #ifndef __IDVRGB219_FWD_DEFINED__
  574. #define __IDVRGB219_FWD_DEFINED__
  575. typedef interface IDVRGB219 IDVRGB219;
  576. #endif     /* __IDVRGB219_FWD_DEFINED__ */
  577.  
  578.  
  579. #ifndef __IDVSplitter_FWD_DEFINED__
  580. #define __IDVSplitter_FWD_DEFINED__
  581. typedef interface IDVSplitter IDVSplitter;
  582. #endif     /* __IDVSplitter_FWD_DEFINED__ */
  583.  
  584.  
  585. #ifndef __IAMAudioRendererStats_FWD_DEFINED__
  586. #define __IAMAudioRendererStats_FWD_DEFINED__
  587. typedef interface IAMAudioRendererStats IAMAudioRendererStats;
  588. #endif     /* __IAMAudioRendererStats_FWD_DEFINED__ */
  589.  
  590.  
  591. #ifndef __IAMGraphStreams_FWD_DEFINED__
  592. #define __IAMGraphStreams_FWD_DEFINED__
  593. typedef interface IAMGraphStreams IAMGraphStreams;
  594. #endif     /* __IAMGraphStreams_FWD_DEFINED__ */
  595.  
  596.  
  597. #ifndef __IAMOverlayFX_FWD_DEFINED__
  598. #define __IAMOverlayFX_FWD_DEFINED__
  599. typedef interface IAMOverlayFX IAMOverlayFX;
  600. #endif     /* __IAMOverlayFX_FWD_DEFINED__ */
  601.  
  602.  
  603. #ifndef __IAMOpenProgress_FWD_DEFINED__
  604. #define __IAMOpenProgress_FWD_DEFINED__
  605. typedef interface IAMOpenProgress IAMOpenProgress;
  606. #endif     /* __IAMOpenProgress_FWD_DEFINED__ */
  607.  
  608.  
  609. #ifndef __IMpeg2Demultiplexer_FWD_DEFINED__
  610. #define __IMpeg2Demultiplexer_FWD_DEFINED__
  611. typedef interface IMpeg2Demultiplexer IMpeg2Demultiplexer;
  612. #endif     /* __IMpeg2Demultiplexer_FWD_DEFINED__ */
  613.  
  614.  
  615. #ifndef __IEnumStreamIdMap_FWD_DEFINED__
  616. #define __IEnumStreamIdMap_FWD_DEFINED__
  617. typedef interface IEnumStreamIdMap IEnumStreamIdMap;
  618. #endif     /* __IEnumStreamIdMap_FWD_DEFINED__ */
  619.  
  620.  
  621. #ifndef __IMPEG2StreamIdMap_FWD_DEFINED__
  622. #define __IMPEG2StreamIdMap_FWD_DEFINED__
  623. typedef interface IMPEG2StreamIdMap IMPEG2StreamIdMap;
  624. #endif     /* __IMPEG2StreamIdMap_FWD_DEFINED__ */
  625.  
  626.  
  627. #ifndef __IRegisterServiceProvider_FWD_DEFINED__
  628. #define __IRegisterServiceProvider_FWD_DEFINED__
  629. typedef interface IRegisterServiceProvider IRegisterServiceProvider;
  630. #endif     /* __IRegisterServiceProvider_FWD_DEFINED__ */
  631.  
  632.  
  633. #ifndef __IAMClockSlave_FWD_DEFINED__
  634. #define __IAMClockSlave_FWD_DEFINED__
  635. typedef interface IAMClockSlave IAMClockSlave;
  636. #endif     /* __IAMClockSlave_FWD_DEFINED__ */
  637.  
  638.  
  639. #ifndef __IAMGraphBuilderCallback_FWD_DEFINED__
  640. #define __IAMGraphBuilderCallback_FWD_DEFINED__
  641. typedef interface IAMGraphBuilderCallback IAMGraphBuilderCallback;
  642. #endif     /* __IAMGraphBuilderCallback_FWD_DEFINED__ */
  643.  
  644.  
  645. #ifndef __ICodecAPI_FWD_DEFINED__
  646. #define __ICodecAPI_FWD_DEFINED__
  647. typedef interface ICodecAPI ICodecAPI;
  648. #endif     /* __ICodecAPI_FWD_DEFINED__ */
  649.  
  650.  
  651. #ifndef __IGetCapabilitiesKey_FWD_DEFINED__
  652. #define __IGetCapabilitiesKey_FWD_DEFINED__
  653. typedef interface IGetCapabilitiesKey IGetCapabilitiesKey;
  654. #endif     /* __IGetCapabilitiesKey_FWD_DEFINED__ */
  655.  
  656.  
  657. #ifndef __IEncoderAPI_FWD_DEFINED__
  658. #define __IEncoderAPI_FWD_DEFINED__
  659. typedef interface IEncoderAPI IEncoderAPI;
  660. #endif     /* __IEncoderAPI_FWD_DEFINED__ */
  661.  
  662.  
  663. #ifndef __IVideoEncoder_FWD_DEFINED__
  664. #define __IVideoEncoder_FWD_DEFINED__
  665. typedef interface IVideoEncoder IVideoEncoder;
  666. #endif     /* __IVideoEncoder_FWD_DEFINED__ */
  667.  
  668.  
  669. #ifndef __IAMDecoderCaps_FWD_DEFINED__
  670. #define __IAMDecoderCaps_FWD_DEFINED__
  671. typedef interface IAMDecoderCaps IAMDecoderCaps;
  672. #endif     /* __IAMDecoderCaps_FWD_DEFINED__ */
  673.  
  674.  
  675. #ifndef __IAMCertifiedOutputProtection_FWD_DEFINED__
  676. #define __IAMCertifiedOutputProtection_FWD_DEFINED__
  677. typedef interface IAMCertifiedOutputProtection IAMCertifiedOutputProtection;
  678. #endif     /* __IAMCertifiedOutputProtection_FWD_DEFINED__ */
  679.  
  680.  
  681. #ifndef __IDvdControl_FWD_DEFINED__
  682. #define __IDvdControl_FWD_DEFINED__
  683. typedef interface IDvdControl IDvdControl;
  684. #endif     /* __IDvdControl_FWD_DEFINED__ */
  685.  
  686.  
  687. #ifndef __IDvdInfo_FWD_DEFINED__
  688. #define __IDvdInfo_FWD_DEFINED__
  689. typedef interface IDvdInfo IDvdInfo;
  690. #endif     /* __IDvdInfo_FWD_DEFINED__ */
  691.  
  692.  
  693. #ifndef __IDvdCmd_FWD_DEFINED__
  694. #define __IDvdCmd_FWD_DEFINED__
  695. typedef interface IDvdCmd IDvdCmd;
  696. #endif     /* __IDvdCmd_FWD_DEFINED__ */
  697.  
  698.  
  699. #ifndef __IDvdState_FWD_DEFINED__
  700. #define __IDvdState_FWD_DEFINED__
  701. typedef interface IDvdState IDvdState;
  702. #endif     /* __IDvdState_FWD_DEFINED__ */
  703.  
  704.  
  705. #ifndef __IDvdControl2_FWD_DEFINED__
  706. #define __IDvdControl2_FWD_DEFINED__
  707. typedef interface IDvdControl2 IDvdControl2;
  708. #endif     /* __IDvdControl2_FWD_DEFINED__ */
  709.  
  710.  
  711. #ifndef __IDvdInfo2_FWD_DEFINED__
  712. #define __IDvdInfo2_FWD_DEFINED__
  713. typedef interface IDvdInfo2 IDvdInfo2;
  714. #endif     /* __IDvdInfo2_FWD_DEFINED__ */
  715.  
  716.  
  717. #ifndef __IDvdGraphBuilder_FWD_DEFINED__
  718. #define __IDvdGraphBuilder_FWD_DEFINED__
  719. typedef interface IDvdGraphBuilder IDvdGraphBuilder;
  720. #endif     /* __IDvdGraphBuilder_FWD_DEFINED__ */
  721.  
  722.  
  723. #ifndef __IDDrawExclModeVideo_FWD_DEFINED__
  724. #define __IDDrawExclModeVideo_FWD_DEFINED__
  725. typedef interface IDDrawExclModeVideo IDDrawExclModeVideo;
  726. #endif     /* __IDDrawExclModeVideo_FWD_DEFINED__ */
  727.  
  728.  
  729. #ifndef __IDDrawExclModeVideoCallback_FWD_DEFINED__
  730. #define __IDDrawExclModeVideoCallback_FWD_DEFINED__
  731. typedef interface IDDrawExclModeVideoCallback IDDrawExclModeVideoCallback;
  732. #endif     /* __IDDrawExclModeVideoCallback_FWD_DEFINED__ */
  733.  
  734.  
  735. #ifndef __IPinConnection_FWD_DEFINED__
  736. #define __IPinConnection_FWD_DEFINED__
  737. typedef interface IPinConnection IPinConnection;
  738. #endif     /* __IPinConnection_FWD_DEFINED__ */
  739.  
  740.  
  741. #ifndef __IPinFlowControl_FWD_DEFINED__
  742. #define __IPinFlowControl_FWD_DEFINED__
  743. typedef interface IPinFlowControl IPinFlowControl;
  744. #endif     /* __IPinFlowControl_FWD_DEFINED__ */
  745.  
  746.  
  747. #ifndef __IGraphConfig_FWD_DEFINED__
  748. #define __IGraphConfig_FWD_DEFINED__
  749. typedef interface IGraphConfig IGraphConfig;
  750. #endif     /* __IGraphConfig_FWD_DEFINED__ */
  751.  
  752.  
  753. #ifndef __IGraphConfigCallback_FWD_DEFINED__
  754. #define __IGraphConfigCallback_FWD_DEFINED__
  755. typedef interface IGraphConfigCallback IGraphConfigCallback;
  756. #endif     /* __IGraphConfigCallback_FWD_DEFINED__ */
  757.  
  758.  
  759. #ifndef __IFilterChain_FWD_DEFINED__
  760. #define __IFilterChain_FWD_DEFINED__
  761. typedef interface IFilterChain IFilterChain;
  762. #endif     /* __IFilterChain_FWD_DEFINED__ */
  763.  
  764.  
  765. #ifndef __IVMRImagePresenter_FWD_DEFINED__
  766. #define __IVMRImagePresenter_FWD_DEFINED__
  767. typedef interface IVMRImagePresenter IVMRImagePresenter;
  768. #endif     /* __IVMRImagePresenter_FWD_DEFINED__ */
  769.  
  770.  
  771. #ifndef __IVMRSurfaceAllocator_FWD_DEFINED__
  772. #define __IVMRSurfaceAllocator_FWD_DEFINED__
  773. typedef interface IVMRSurfaceAllocator IVMRSurfaceAllocator;
  774. #endif     /* __IVMRSurfaceAllocator_FWD_DEFINED__ */
  775.  
  776.  
  777. #ifndef __IVMRSurfaceAllocatorNotify_FWD_DEFINED__
  778. #define __IVMRSurfaceAllocatorNotify_FWD_DEFINED__
  779. typedef interface IVMRSurfaceAllocatorNotify IVMRSurfaceAllocatorNotify;
  780. #endif     /* __IVMRSurfaceAllocatorNotify_FWD_DEFINED__ */
  781.  
  782.  
  783. #ifndef __IVMRWindowlessControl_FWD_DEFINED__
  784. #define __IVMRWindowlessControl_FWD_DEFINED__
  785. typedef interface IVMRWindowlessControl IVMRWindowlessControl;
  786. #endif     /* __IVMRWindowlessControl_FWD_DEFINED__ */
  787.  
  788.  
  789. #ifndef __IVMRMixerControl_FWD_DEFINED__
  790. #define __IVMRMixerControl_FWD_DEFINED__
  791. typedef interface IVMRMixerControl IVMRMixerControl;
  792. #endif     /* __IVMRMixerControl_FWD_DEFINED__ */
  793.  
  794.  
  795. #ifndef __IVMRMonitorConfig_FWD_DEFINED__
  796. #define __IVMRMonitorConfig_FWD_DEFINED__
  797. typedef interface IVMRMonitorConfig IVMRMonitorConfig;
  798. #endif     /* __IVMRMonitorConfig_FWD_DEFINED__ */
  799.  
  800.  
  801. #ifndef __IVMRFilterConfig_FWD_DEFINED__
  802. #define __IVMRFilterConfig_FWD_DEFINED__
  803. typedef interface IVMRFilterConfig IVMRFilterConfig;
  804. #endif     /* __IVMRFilterConfig_FWD_DEFINED__ */
  805.  
  806.  
  807. #ifndef __IVMRAspectRatioControl_FWD_DEFINED__
  808. #define __IVMRAspectRatioControl_FWD_DEFINED__
  809. typedef interface IVMRAspectRatioControl IVMRAspectRatioControl;
  810. #endif     /* __IVMRAspectRatioControl_FWD_DEFINED__ */
  811.  
  812.  
  813. #ifndef __IVMRDeinterlaceControl_FWD_DEFINED__
  814. #define __IVMRDeinterlaceControl_FWD_DEFINED__
  815. typedef interface IVMRDeinterlaceControl IVMRDeinterlaceControl;
  816. #endif     /* __IVMRDeinterlaceControl_FWD_DEFINED__ */
  817.  
  818.  
  819. #ifndef __IVMRMixerBitmap_FWD_DEFINED__
  820. #define __IVMRMixerBitmap_FWD_DEFINED__
  821. typedef interface IVMRMixerBitmap IVMRMixerBitmap;
  822. #endif     /* __IVMRMixerBitmap_FWD_DEFINED__ */
  823.  
  824.  
  825. #ifndef __IVMRImageCompositor_FWD_DEFINED__
  826. #define __IVMRImageCompositor_FWD_DEFINED__
  827. typedef interface IVMRImageCompositor IVMRImageCompositor;
  828. #endif     /* __IVMRImageCompositor_FWD_DEFINED__ */
  829.  
  830.  
  831. #ifndef __IVMRVideoStreamControl_FWD_DEFINED__
  832. #define __IVMRVideoStreamControl_FWD_DEFINED__
  833. typedef interface IVMRVideoStreamControl IVMRVideoStreamControl;
  834. #endif     /* __IVMRVideoStreamControl_FWD_DEFINED__ */
  835.  
  836.  
  837. #ifndef __IVMRSurface_FWD_DEFINED__
  838. #define __IVMRSurface_FWD_DEFINED__
  839. typedef interface IVMRSurface IVMRSurface;
  840. #endif     /* __IVMRSurface_FWD_DEFINED__ */
  841.  
  842.  
  843. #ifndef __IVMRImagePresenterConfig_FWD_DEFINED__
  844. #define __IVMRImagePresenterConfig_FWD_DEFINED__
  845. typedef interface IVMRImagePresenterConfig IVMRImagePresenterConfig;
  846. #endif     /* __IVMRImagePresenterConfig_FWD_DEFINED__ */
  847.  
  848.  
  849. #ifndef __IVMRImagePresenterExclModeConfig_FWD_DEFINED__
  850. #define __IVMRImagePresenterExclModeConfig_FWD_DEFINED__
  851. typedef interface IVMRImagePresenterExclModeConfig IVMRImagePresenterExclModeConfig;
  852. #endif     /* __IVMRImagePresenterExclModeConfig_FWD_DEFINED__ */
  853.  
  854.  
  855. #ifndef __IVPManager_FWD_DEFINED__
  856. #define __IVPManager_FWD_DEFINED__
  857. typedef interface IVPManager IVPManager;
  858. #endif     /* __IVPManager_FWD_DEFINED__ */
  859.  
  860.  
  861. /* header files for imported files */
  862. #include "unknwn.h"
  863. #include "objidl.h"
  864. #include "oaidl.h"
  865. #include "ocidl.h"
  866.  
  867. #ifdef __cplusplus
  868. extern "C"{
  869. #endif 
  870.  
  871. void * __RPC_USER MIDL_user_allocate(size_t);
  872. void __RPC_USER MIDL_user_free( void * ); 
  873.  
  874. /* interface __MIDL_itf_strmif_0000 */
  875. /* [local] */ 
  876.  
  877. //+-------------------------------------------------------------------------
  878. //
  879. //  Copyright (C) Microsoft Corporation, 1999-2002.
  880. //
  881. //--------------------------------------------------------------------------
  882. // Disable /W4 compiler warning C4201: nameless struct/union
  883. #pragma warning(push)
  884. #pragma warning(disable:4201)  // Disable C4201: nameless struct/union
  885.   
  886. #define CDEF_CLASS_DEFAULT      0x0001
  887. #define CDEF_BYPASS_CLASS_MANAGER   0x0002
  888. #define CDEF_MERIT_ABOVE_DO_NOT_USE  0x0008
  889. #define CDEF_DEVMON_CMGR_DEVICE  0x0010
  890. #define CDEF_DEVMON_DMO  0x0020
  891. #define CDEF_DEVMON_PNP_DEVICE  0x0040
  892. #define CDEF_DEVMON_FILTER  0x0080
  893. #define CDEF_DEVMON_SELECTIVE_MASK  0x00f0
  894.  
  895.  
  896. extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_v0_0_c_ifspec;
  897. extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_v0_0_s_ifspec;
  898.  
  899. #ifndef __ICreateDevEnum_INTERFACE_DEFINED__
  900. #define __ICreateDevEnum_INTERFACE_DEFINED__
  901.  
  902. /* interface ICreateDevEnum */
  903. /* [unique][uuid][object] */ 
  904.  
  905.  
  906. EXTERN_C const IID IID_ICreateDevEnum;
  907.  
  908. #if defined(__cplusplus) && !defined(CINTERFACE)
  909.     
  910.     MIDL_INTERFACE("29840822-5B84-11D0-BD3B-00A0C911CE86")
  911.     ICreateDevEnum : public IUnknown
  912.     {
  913.     public:
  914.         virtual HRESULT STDMETHODCALLTYPE CreateClassEnumerator( 
  915.             /* [in] */ REFCLSID clsidDeviceClass,
  916.             /* [out] */ IEnumMoniker **ppEnumMoniker,
  917.             /* [in] */ DWORD dwFlags) = 0;
  918.         
  919.     };
  920.     
  921. #else     /* C style interface */
  922.  
  923.     typedef struct ICreateDevEnumVtbl
  924.     {
  925.         BEGIN_INTERFACE
  926.         
  927.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  928.             ICreateDevEnum * This,
  929.             /* [in] */ REFIID riid,
  930.             /* [iid_is][out] */ void **ppvObject);
  931.         
  932.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  933.             ICreateDevEnum * This);
  934.         
  935.         ULONG ( STDMETHODCALLTYPE *Release )( 
  936.             ICreateDevEnum * This);
  937.         
  938.         HRESULT ( STDMETHODCALLTYPE *CreateClassEnumerator )( 
  939.             ICreateDevEnum * This,
  940.             /* [in] */ REFCLSID clsidDeviceClass,
  941.             /* [out] */ IEnumMoniker **ppEnumMoniker,
  942.             /* [in] */ DWORD dwFlags);
  943.         
  944.         END_INTERFACE
  945.     } ICreateDevEnumVtbl;
  946.  
  947.     interface ICreateDevEnum
  948.     {
  949.         CONST_VTBL struct ICreateDevEnumVtbl *lpVtbl;
  950.     };
  951.  
  952.     
  953.  
  954. #ifdef COBJMACROS
  955.  
  956.  
  957. #define ICreateDevEnum_QueryInterface(This,riid,ppvObject)    \
  958.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  959.  
  960. #define ICreateDevEnum_AddRef(This)    \
  961.     (This)->lpVtbl -> AddRef(This)
  962.  
  963. #define ICreateDevEnum_Release(This)    \
  964.     (This)->lpVtbl -> Release(This)
  965.  
  966.  
  967. #define ICreateDevEnum_CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags)    \
  968.     (This)->lpVtbl -> CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags)
  969.  
  970. #endif /* COBJMACROS */
  971.  
  972.  
  973. #endif     /* C style interface */
  974.  
  975.  
  976.  
  977. HRESULT STDMETHODCALLTYPE ICreateDevEnum_CreateClassEnumerator_Proxy( 
  978.     ICreateDevEnum * This,
  979.     /* [in] */ REFCLSID clsidDeviceClass,
  980.     /* [out] */ IEnumMoniker **ppEnumMoniker,
  981.     /* [in] */ DWORD dwFlags);
  982.  
  983.  
  984. void __RPC_STUB ICreateDevEnum_CreateClassEnumerator_Stub(
  985.     IRpcStubBuffer *This,
  986.     IRpcChannelBuffer *_pRpcChannelBuffer,
  987.     PRPC_MESSAGE _pRpcMessage,
  988.     DWORD *_pdwStubPhase);
  989.  
  990.  
  991.  
  992. #endif     /* __ICreateDevEnum_INTERFACE_DEFINED__ */
  993.  
  994.  
  995. /* interface __MIDL_itf_strmif_0113 */
  996. /* [local] */ 
  997.  
  998. #define CHARS_IN_GUID     39
  999. typedef struct _AMMediaType
  1000.     {
  1001.     GUID majortype;
  1002.     GUID subtype;
  1003.     BOOL bFixedSizeSamples;
  1004.     BOOL bTemporalCompression;
  1005.     ULONG lSampleSize;
  1006.     GUID formattype;
  1007.     IUnknown *pUnk;
  1008.     ULONG cbFormat;
  1009.     /* [size_is] */ BYTE *pbFormat;
  1010.     }     AM_MEDIA_TYPE;
  1011.  
  1012. typedef 
  1013. enum _PinDirection
  1014.     {    PINDIR_INPUT    = 0,
  1015.     PINDIR_OUTPUT    = PINDIR_INPUT + 1
  1016.     }     PIN_DIRECTION;
  1017.  
  1018. #define MAX_PIN_NAME     128
  1019. #define MAX_FILTER_NAME  128
  1020. typedef LONGLONG REFERENCE_TIME;
  1021.  
  1022. typedef double REFTIME;
  1023.  
  1024. typedef DWORD_PTR HSEMAPHORE;
  1025.  
  1026. typedef DWORD_PTR HEVENT;
  1027.  
  1028. typedef struct _AllocatorProperties
  1029.     {
  1030.     long cBuffers;
  1031.     long cbBuffer;
  1032.     long cbAlign;
  1033.     long cbPrefix;
  1034.     }     ALLOCATOR_PROPERTIES;
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052. extern RPC_IF_HANDLE __MIDL_itf_strmif_0113_v0_0_c_ifspec;
  1053. extern RPC_IF_HANDLE __MIDL_itf_strmif_0113_v0_0_s_ifspec;
  1054.  
  1055. #ifndef __IPin_INTERFACE_DEFINED__
  1056. #define __IPin_INTERFACE_DEFINED__
  1057.  
  1058. /* interface IPin */
  1059. /* [unique][uuid][object] */ 
  1060.  
  1061. typedef struct _PinInfo
  1062.     {
  1063.     IBaseFilter *pFilter;
  1064.     PIN_DIRECTION dir;
  1065.     WCHAR achName[ 128 ];
  1066.     }     PIN_INFO;
  1067.  
  1068.  
  1069. EXTERN_C const IID IID_IPin;
  1070.  
  1071. #if defined(__cplusplus) && !defined(CINTERFACE)
  1072.     
  1073.     MIDL_INTERFACE("56a86891-0ad4-11ce-b03a-0020af0ba770")
  1074.     IPin : public IUnknown
  1075.     {
  1076.     public:
  1077.         virtual HRESULT STDMETHODCALLTYPE Connect( 
  1078.             /* [in] */ IPin *pReceivePin,
  1079.             /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  1080.         
  1081.         virtual HRESULT STDMETHODCALLTYPE ReceiveConnection( 
  1082.             /* [in] */ IPin *pConnector,
  1083.             /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  1084.         
  1085.         virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
  1086.         
  1087.         virtual HRESULT STDMETHODCALLTYPE ConnectedTo( 
  1088.             /* [out] */ IPin **pPin) = 0;
  1089.         
  1090.         virtual HRESULT STDMETHODCALLTYPE ConnectionMediaType( 
  1091.             /* [out] */ AM_MEDIA_TYPE *pmt) = 0;
  1092.         
  1093.         virtual HRESULT STDMETHODCALLTYPE QueryPinInfo( 
  1094.             /* [out] */ PIN_INFO *pInfo) = 0;
  1095.         
  1096.         virtual HRESULT STDMETHODCALLTYPE QueryDirection( 
  1097.             /* [out] */ PIN_DIRECTION *pPinDir) = 0;
  1098.         
  1099.         virtual HRESULT STDMETHODCALLTYPE QueryId( 
  1100.             /* [out] */ LPWSTR *Id) = 0;
  1101.         
  1102.         virtual HRESULT STDMETHODCALLTYPE QueryAccept( 
  1103.             /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  1104.         
  1105.         virtual HRESULT STDMETHODCALLTYPE EnumMediaTypes( 
  1106.             /* [out] */ IEnumMediaTypes **ppEnum) = 0;
  1107.         
  1108.         virtual HRESULT STDMETHODCALLTYPE QueryInternalConnections( 
  1109.             /* [out] */ IPin **apPin,
  1110.             /* [out][in] */ ULONG *nPin) = 0;
  1111.         
  1112.         virtual HRESULT STDMETHODCALLTYPE EndOfStream( void) = 0;
  1113.         
  1114.         virtual HRESULT STDMETHODCALLTYPE BeginFlush( void) = 0;
  1115.         
  1116.         virtual HRESULT STDMETHODCALLTYPE EndFlush( void) = 0;
  1117.         
  1118.         virtual HRESULT STDMETHODCALLTYPE NewSegment( 
  1119.             /* [in] */ REFERENCE_TIME tStart,
  1120.             /* [in] */ REFERENCE_TIME tStop,
  1121.             /* [in] */ double dRate) = 0;
  1122.         
  1123.     };
  1124.     
  1125. #else     /* C style interface */
  1126.  
  1127.     typedef struct IPinVtbl
  1128.     {
  1129.         BEGIN_INTERFACE
  1130.         
  1131.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1132.             IPin * This,
  1133.             /* [in] */ REFIID riid,
  1134.             /* [iid_is][out] */ void **ppvObject);
  1135.         
  1136.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1137.             IPin * This);
  1138.         
  1139.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1140.             IPin * This);
  1141.         
  1142.         HRESULT ( STDMETHODCALLTYPE *Connect )( 
  1143.             IPin * This,
  1144.             /* [in] */ IPin *pReceivePin,
  1145.             /* [in] */ const AM_MEDIA_TYPE *pmt);
  1146.         
  1147.         HRESULT ( STDMETHODCALLTYPE *ReceiveConnection )( 
  1148.             IPin * This,
  1149.             /* [in] */ IPin *pConnector,
  1150.             /* [in] */ const AM_MEDIA_TYPE *pmt);
  1151.         
  1152.         HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  1153.             IPin * This);
  1154.         
  1155.         HRESULT ( STDMETHODCALLTYPE *ConnectedTo )( 
  1156.             IPin * This,
  1157.             /* [out] */ IPin **pPin);
  1158.         
  1159.         HRESULT ( STDMETHODCALLTYPE *ConnectionMediaType )( 
  1160.             IPin * This,
  1161.             /* [out] */ AM_MEDIA_TYPE *pmt);
  1162.         
  1163.         HRESULT ( STDMETHODCALLTYPE *QueryPinInfo )( 
  1164.             IPin * This,
  1165.             /* [out] */ PIN_INFO *pInfo);
  1166.         
  1167.         HRESULT ( STDMETHODCALLTYPE *QueryDirection )( 
  1168.             IPin * This,
  1169.             /* [out] */ PIN_DIRECTION *pPinDir);
  1170.         
  1171.         HRESULT ( STDMETHODCALLTYPE *QueryId )( 
  1172.             IPin * This,
  1173.             /* [out] */ LPWSTR *Id);
  1174.         
  1175.         HRESULT ( STDMETHODCALLTYPE *QueryAccept )( 
  1176.             IPin * This,
  1177.             /* [in] */ const AM_MEDIA_TYPE *pmt);
  1178.         
  1179.         HRESULT ( STDMETHODCALLTYPE *EnumMediaTypes )( 
  1180.             IPin * This,
  1181.             /* [out] */ IEnumMediaTypes **ppEnum);
  1182.         
  1183.         HRESULT ( STDMETHODCALLTYPE *QueryInternalConnections )( 
  1184.             IPin * This,
  1185.             /* [out] */ IPin **apPin,
  1186.             /* [out][in] */ ULONG *nPin);
  1187.         
  1188.         HRESULT ( STDMETHODCALLTYPE *EndOfStream )( 
  1189.             IPin * This);
  1190.         
  1191.         HRESULT ( STDMETHODCALLTYPE *BeginFlush )( 
  1192.             IPin * This);
  1193.         
  1194.         HRESULT ( STDMETHODCALLTYPE *EndFlush )( 
  1195.             IPin * This);
  1196.         
  1197.         HRESULT ( STDMETHODCALLTYPE *NewSegment )( 
  1198.             IPin * This,
  1199.             /* [in] */ REFERENCE_TIME tStart,
  1200.             /* [in] */ REFERENCE_TIME tStop,
  1201.             /* [in] */ double dRate);
  1202.         
  1203.         END_INTERFACE
  1204.     } IPinVtbl;
  1205.  
  1206.     interface IPin
  1207.     {
  1208.         CONST_VTBL struct IPinVtbl *lpVtbl;
  1209.     };
  1210.  
  1211.     
  1212.  
  1213. #ifdef COBJMACROS
  1214.  
  1215.  
  1216. #define IPin_QueryInterface(This,riid,ppvObject)    \
  1217.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1218.  
  1219. #define IPin_AddRef(This)    \
  1220.     (This)->lpVtbl -> AddRef(This)
  1221.  
  1222. #define IPin_Release(This)    \
  1223.     (This)->lpVtbl -> Release(This)
  1224.  
  1225.  
  1226. #define IPin_Connect(This,pReceivePin,pmt)    \
  1227.     (This)->lpVtbl -> Connect(This,pReceivePin,pmt)
  1228.  
  1229. #define IPin_ReceiveConnection(This,pConnector,pmt)    \
  1230.     (This)->lpVtbl -> ReceiveConnection(This,pConnector,pmt)
  1231.  
  1232. #define IPin_Disconnect(This)    \
  1233.     (This)->lpVtbl -> Disconnect(This)
  1234.  
  1235. #define IPin_ConnectedTo(This,pPin)    \
  1236.     (This)->lpVtbl -> ConnectedTo(This,pPin)
  1237.  
  1238. #define IPin_ConnectionMediaType(This,pmt)    \
  1239.     (This)->lpVtbl -> ConnectionMediaType(This,pmt)
  1240.  
  1241. #define IPin_QueryPinInfo(This,pInfo)    \
  1242.     (This)->lpVtbl -> QueryPinInfo(This,pInfo)
  1243.  
  1244. #define IPin_QueryDirection(This,pPinDir)    \
  1245.     (This)->lpVtbl -> QueryDirection(This,pPinDir)
  1246.  
  1247. #define IPin_QueryId(This,Id)    \
  1248.     (This)->lpVtbl -> QueryId(This,Id)
  1249.  
  1250. #define IPin_QueryAccept(This,pmt)    \
  1251.     (This)->lpVtbl -> QueryAccept(This,pmt)
  1252.  
  1253. #define IPin_EnumMediaTypes(This,ppEnum)    \
  1254.     (This)->lpVtbl -> EnumMediaTypes(This,ppEnum)
  1255.  
  1256. #define IPin_QueryInternalConnections(This,apPin,nPin)    \
  1257.     (This)->lpVtbl -> QueryInternalConnections(This,apPin,nPin)
  1258.  
  1259. #define IPin_EndOfStream(This)    \
  1260.     (This)->lpVtbl -> EndOfStream(This)
  1261.  
  1262. #define IPin_BeginFlush(This)    \
  1263.     (This)->lpVtbl -> BeginFlush(This)
  1264.  
  1265. #define IPin_EndFlush(This)    \
  1266.     (This)->lpVtbl -> EndFlush(This)
  1267.  
  1268. #define IPin_NewSegment(This,tStart,tStop,dRate)    \
  1269.     (This)->lpVtbl -> NewSegment(This,tStart,tStop,dRate)
  1270.  
  1271. #endif /* COBJMACROS */
  1272.  
  1273.  
  1274. #endif     /* C style interface */
  1275.  
  1276.  
  1277.  
  1278. HRESULT STDMETHODCALLTYPE IPin_Connect_Proxy( 
  1279.     IPin * This,
  1280.     /* [in] */ IPin *pReceivePin,
  1281.     /* [in] */ const AM_MEDIA_TYPE *pmt);
  1282.  
  1283.  
  1284. void __RPC_STUB IPin_Connect_Stub(
  1285.     IRpcStubBuffer *This,
  1286.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1287.     PRPC_MESSAGE _pRpcMessage,
  1288.     DWORD *_pdwStubPhase);
  1289.  
  1290.  
  1291. HRESULT STDMETHODCALLTYPE IPin_ReceiveConnection_Proxy( 
  1292.     IPin * This,
  1293.     /* [in] */ IPin *pConnector,
  1294.     /* [in] */ const AM_MEDIA_TYPE *pmt);
  1295.  
  1296.  
  1297. void __RPC_STUB IPin_ReceiveConnection_Stub(
  1298.     IRpcStubBuffer *This,
  1299.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1300.     PRPC_MESSAGE _pRpcMessage,
  1301.     DWORD *_pdwStubPhase);
  1302.  
  1303.  
  1304. HRESULT STDMETHODCALLTYPE IPin_Disconnect_Proxy( 
  1305.     IPin * This);
  1306.  
  1307.  
  1308. void __RPC_STUB IPin_Disconnect_Stub(
  1309.     IRpcStubBuffer *This,
  1310.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1311.     PRPC_MESSAGE _pRpcMessage,
  1312.     DWORD *_pdwStubPhase);
  1313.  
  1314.  
  1315. HRESULT STDMETHODCALLTYPE IPin_ConnectedTo_Proxy( 
  1316.     IPin * This,
  1317.     /* [out] */ IPin **pPin);
  1318.  
  1319.  
  1320. void __RPC_STUB IPin_ConnectedTo_Stub(
  1321.     IRpcStubBuffer *This,
  1322.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1323.     PRPC_MESSAGE _pRpcMessage,
  1324.     DWORD *_pdwStubPhase);
  1325.  
  1326.  
  1327. HRESULT STDMETHODCALLTYPE IPin_ConnectionMediaType_Proxy( 
  1328.     IPin * This,
  1329.     /* [out] */ AM_MEDIA_TYPE *pmt);
  1330.  
  1331.  
  1332. void __RPC_STUB IPin_ConnectionMediaType_Stub(
  1333.     IRpcStubBuffer *This,
  1334.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1335.     PRPC_MESSAGE _pRpcMessage,
  1336.     DWORD *_pdwStubPhase);
  1337.  
  1338.  
  1339. HRESULT STDMETHODCALLTYPE IPin_QueryPinInfo_Proxy( 
  1340.     IPin * This,
  1341.     /* [out] */ PIN_INFO *pInfo);
  1342.  
  1343.  
  1344. void __RPC_STUB IPin_QueryPinInfo_Stub(
  1345.     IRpcStubBuffer *This,
  1346.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1347.     PRPC_MESSAGE _pRpcMessage,
  1348.     DWORD *_pdwStubPhase);
  1349.  
  1350.  
  1351. HRESULT STDMETHODCALLTYPE IPin_QueryDirection_Proxy( 
  1352.     IPin * This,
  1353.     /* [out] */ PIN_DIRECTION *pPinDir);
  1354.  
  1355.  
  1356. void __RPC_STUB IPin_QueryDirection_Stub(
  1357.     IRpcStubBuffer *This,
  1358.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1359.     PRPC_MESSAGE _pRpcMessage,
  1360.     DWORD *_pdwStubPhase);
  1361.  
  1362.  
  1363. HRESULT STDMETHODCALLTYPE IPin_QueryId_Proxy( 
  1364.     IPin * This,
  1365.     /* [out] */ LPWSTR *Id);
  1366.  
  1367.  
  1368. void __RPC_STUB IPin_QueryId_Stub(
  1369.     IRpcStubBuffer *This,
  1370.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1371.     PRPC_MESSAGE _pRpcMessage,
  1372.     DWORD *_pdwStubPhase);
  1373.  
  1374.  
  1375. HRESULT STDMETHODCALLTYPE IPin_QueryAccept_Proxy( 
  1376.     IPin * This,
  1377.     /* [in] */ const AM_MEDIA_TYPE *pmt);
  1378.  
  1379.  
  1380. void __RPC_STUB IPin_QueryAccept_Stub(
  1381.     IRpcStubBuffer *This,
  1382.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1383.     PRPC_MESSAGE _pRpcMessage,
  1384.     DWORD *_pdwStubPhase);
  1385.  
  1386.  
  1387. HRESULT STDMETHODCALLTYPE IPin_EnumMediaTypes_Proxy( 
  1388.     IPin * This,
  1389.     /* [out] */ IEnumMediaTypes **ppEnum);
  1390.  
  1391.  
  1392. void __RPC_STUB IPin_EnumMediaTypes_Stub(
  1393.     IRpcStubBuffer *This,
  1394.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1395.     PRPC_MESSAGE _pRpcMessage,
  1396.     DWORD *_pdwStubPhase);
  1397.  
  1398.  
  1399. HRESULT STDMETHODCALLTYPE IPin_QueryInternalConnections_Proxy( 
  1400.     IPin * This,
  1401.     /* [out] */ IPin **apPin,
  1402.     /* [out][in] */ ULONG *nPin);
  1403.  
  1404.  
  1405. void __RPC_STUB IPin_QueryInternalConnections_Stub(
  1406.     IRpcStubBuffer *This,
  1407.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1408.     PRPC_MESSAGE _pRpcMessage,
  1409.     DWORD *_pdwStubPhase);
  1410.  
  1411.  
  1412. HRESULT STDMETHODCALLTYPE IPin_EndOfStream_Proxy( 
  1413.     IPin * This);
  1414.  
  1415.  
  1416. void __RPC_STUB IPin_EndOfStream_Stub(
  1417.     IRpcStubBuffer *This,
  1418.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1419.     PRPC_MESSAGE _pRpcMessage,
  1420.     DWORD *_pdwStubPhase);
  1421.  
  1422.  
  1423. HRESULT STDMETHODCALLTYPE IPin_BeginFlush_Proxy( 
  1424.     IPin * This);
  1425.  
  1426.  
  1427. void __RPC_STUB IPin_BeginFlush_Stub(
  1428.     IRpcStubBuffer *This,
  1429.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1430.     PRPC_MESSAGE _pRpcMessage,
  1431.     DWORD *_pdwStubPhase);
  1432.  
  1433.  
  1434. HRESULT STDMETHODCALLTYPE IPin_EndFlush_Proxy( 
  1435.     IPin * This);
  1436.  
  1437.  
  1438. void __RPC_STUB IPin_EndFlush_Stub(
  1439.     IRpcStubBuffer *This,
  1440.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1441.     PRPC_MESSAGE _pRpcMessage,
  1442.     DWORD *_pdwStubPhase);
  1443.  
  1444.  
  1445. HRESULT STDMETHODCALLTYPE IPin_NewSegment_Proxy( 
  1446.     IPin * This,
  1447.     /* [in] */ REFERENCE_TIME tStart,
  1448.     /* [in] */ REFERENCE_TIME tStop,
  1449.     /* [in] */ double dRate);
  1450.  
  1451.  
  1452. void __RPC_STUB IPin_NewSegment_Stub(
  1453.     IRpcStubBuffer *This,
  1454.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1455.     PRPC_MESSAGE _pRpcMessage,
  1456.     DWORD *_pdwStubPhase);
  1457.  
  1458.  
  1459.  
  1460. #endif     /* __IPin_INTERFACE_DEFINED__ */
  1461.  
  1462.  
  1463. /* interface __MIDL_itf_strmif_0114 */
  1464. /* [local] */ 
  1465.  
  1466. typedef IPin *PPIN;
  1467.  
  1468.  
  1469.  
  1470. extern RPC_IF_HANDLE __MIDL_itf_strmif_0114_v0_0_c_ifspec;
  1471. extern RPC_IF_HANDLE __MIDL_itf_strmif_0114_v0_0_s_ifspec;
  1472.  
  1473. #ifndef __IEnumPins_INTERFACE_DEFINED__
  1474. #define __IEnumPins_INTERFACE_DEFINED__
  1475.  
  1476. /* interface IEnumPins */
  1477. /* [unique][uuid][object] */ 
  1478.  
  1479.  
  1480. EXTERN_C const IID IID_IEnumPins;
  1481.  
  1482. #if defined(__cplusplus) && !defined(CINTERFACE)
  1483.     
  1484.     MIDL_INTERFACE("56a86892-0ad4-11ce-b03a-0020af0ba770")
  1485.     IEnumPins : public IUnknown
  1486.     {
  1487.     public:
  1488.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1489.             /* [in] */ ULONG cPins,
  1490.             /* [size_is][out] */ IPin **ppPins,
  1491.             /* [out] */ ULONG *pcFetched) = 0;
  1492.         
  1493.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1494.             /* [in] */ ULONG cPins) = 0;
  1495.         
  1496.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1497.         
  1498.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1499.             /* [out] */ IEnumPins **ppEnum) = 0;
  1500.         
  1501.     };
  1502.     
  1503. #else     /* C style interface */
  1504.  
  1505.     typedef struct IEnumPinsVtbl
  1506.     {
  1507.         BEGIN_INTERFACE
  1508.         
  1509.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1510.             IEnumPins * This,
  1511.             /* [in] */ REFIID riid,
  1512.             /* [iid_is][out] */ void **ppvObject);
  1513.         
  1514.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1515.             IEnumPins * This);
  1516.         
  1517.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1518.             IEnumPins * This);
  1519.         
  1520.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  1521.             IEnumPins * This,
  1522.             /* [in] */ ULONG cPins,
  1523.             /* [size_is][out] */ IPin **ppPins,
  1524.             /* [out] */ ULONG *pcFetched);
  1525.         
  1526.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  1527.             IEnumPins * This,
  1528.             /* [in] */ ULONG cPins);
  1529.         
  1530.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1531.             IEnumPins * This);
  1532.         
  1533.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1534.             IEnumPins * This,
  1535.             /* [out] */ IEnumPins **ppEnum);
  1536.         
  1537.         END_INTERFACE
  1538.     } IEnumPinsVtbl;
  1539.  
  1540.     interface IEnumPins
  1541.     {
  1542.         CONST_VTBL struct IEnumPinsVtbl *lpVtbl;
  1543.     };
  1544.  
  1545.     
  1546.  
  1547. #ifdef COBJMACROS
  1548.  
  1549.  
  1550. #define IEnumPins_QueryInterface(This,riid,ppvObject)    \
  1551.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1552.  
  1553. #define IEnumPins_AddRef(This)    \
  1554.     (This)->lpVtbl -> AddRef(This)
  1555.  
  1556. #define IEnumPins_Release(This)    \
  1557.     (This)->lpVtbl -> Release(This)
  1558.  
  1559.  
  1560. #define IEnumPins_Next(This,cPins,ppPins,pcFetched)    \
  1561.     (This)->lpVtbl -> Next(This,cPins,ppPins,pcFetched)
  1562.  
  1563. #define IEnumPins_Skip(This,cPins)    \
  1564.     (This)->lpVtbl -> Skip(This,cPins)
  1565.  
  1566. #define IEnumPins_Reset(This)    \
  1567.     (This)->lpVtbl -> Reset(This)
  1568.  
  1569. #define IEnumPins_Clone(This,ppEnum)    \
  1570.     (This)->lpVtbl -> Clone(This,ppEnum)
  1571.  
  1572. #endif /* COBJMACROS */
  1573.  
  1574.  
  1575. #endif     /* C style interface */
  1576.  
  1577.  
  1578.  
  1579. HRESULT STDMETHODCALLTYPE IEnumPins_Next_Proxy( 
  1580.     IEnumPins * This,
  1581.     /* [in] */ ULONG cPins,
  1582.     /* [size_is][out] */ IPin **ppPins,
  1583.     /* [out] */ ULONG *pcFetched);
  1584.  
  1585.  
  1586. void __RPC_STUB IEnumPins_Next_Stub(
  1587.     IRpcStubBuffer *This,
  1588.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1589.     PRPC_MESSAGE _pRpcMessage,
  1590.     DWORD *_pdwStubPhase);
  1591.  
  1592.  
  1593. HRESULT STDMETHODCALLTYPE IEnumPins_Skip_Proxy( 
  1594.     IEnumPins * This,
  1595.     /* [in] */ ULONG cPins);
  1596.  
  1597.  
  1598. void __RPC_STUB IEnumPins_Skip_Stub(
  1599.     IRpcStubBuffer *This,
  1600.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1601.     PRPC_MESSAGE _pRpcMessage,
  1602.     DWORD *_pdwStubPhase);
  1603.  
  1604.  
  1605. HRESULT STDMETHODCALLTYPE IEnumPins_Reset_Proxy( 
  1606.     IEnumPins * This);
  1607.  
  1608.  
  1609. void __RPC_STUB IEnumPins_Reset_Stub(
  1610.     IRpcStubBuffer *This,
  1611.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1612.     PRPC_MESSAGE _pRpcMessage,
  1613.     DWORD *_pdwStubPhase);
  1614.  
  1615.  
  1616. HRESULT STDMETHODCALLTYPE IEnumPins_Clone_Proxy( 
  1617.     IEnumPins * This,
  1618.     /* [out] */ IEnumPins **ppEnum);
  1619.  
  1620.  
  1621. void __RPC_STUB IEnumPins_Clone_Stub(
  1622.     IRpcStubBuffer *This,
  1623.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1624.     PRPC_MESSAGE _pRpcMessage,
  1625.     DWORD *_pdwStubPhase);
  1626.  
  1627.  
  1628.  
  1629. #endif     /* __IEnumPins_INTERFACE_DEFINED__ */
  1630.  
  1631.  
  1632. /* interface __MIDL_itf_strmif_0115 */
  1633. /* [local] */ 
  1634.  
  1635. typedef IEnumPins *PENUMPINS;
  1636.  
  1637.  
  1638.  
  1639. extern RPC_IF_HANDLE __MIDL_itf_strmif_0115_v0_0_c_ifspec;
  1640. extern RPC_IF_HANDLE __MIDL_itf_strmif_0115_v0_0_s_ifspec;
  1641.  
  1642. #ifndef __IEnumMediaTypes_INTERFACE_DEFINED__
  1643. #define __IEnumMediaTypes_INTERFACE_DEFINED__
  1644.  
  1645. /* interface IEnumMediaTypes */
  1646. /* [unique][uuid][object] */ 
  1647.  
  1648.  
  1649. EXTERN_C const IID IID_IEnumMediaTypes;
  1650.  
  1651. #if defined(__cplusplus) && !defined(CINTERFACE)
  1652.     
  1653.     MIDL_INTERFACE("89c31040-846b-11ce-97d3-00aa0055595a")
  1654.     IEnumMediaTypes : public IUnknown
  1655.     {
  1656.     public:
  1657.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1658.             /* [in] */ ULONG cMediaTypes,
  1659.             /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,
  1660.             /* [out] */ ULONG *pcFetched) = 0;
  1661.         
  1662.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1663.             /* [in] */ ULONG cMediaTypes) = 0;
  1664.         
  1665.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1666.         
  1667.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1668.             /* [out] */ IEnumMediaTypes **ppEnum) = 0;
  1669.         
  1670.     };
  1671.     
  1672. #else     /* C style interface */
  1673.  
  1674.     typedef struct IEnumMediaTypesVtbl
  1675.     {
  1676.         BEGIN_INTERFACE
  1677.         
  1678.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1679.             IEnumMediaTypes * This,
  1680.             /* [in] */ REFIID riid,
  1681.             /* [iid_is][out] */ void **ppvObject);
  1682.         
  1683.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1684.             IEnumMediaTypes * This);
  1685.         
  1686.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1687.             IEnumMediaTypes * This);
  1688.         
  1689.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  1690.             IEnumMediaTypes * This,
  1691.             /* [in] */ ULONG cMediaTypes,
  1692.             /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,
  1693.             /* [out] */ ULONG *pcFetched);
  1694.         
  1695.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  1696.             IEnumMediaTypes * This,
  1697.             /* [in] */ ULONG cMediaTypes);
  1698.         
  1699.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1700.             IEnumMediaTypes * This);
  1701.         
  1702.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1703.             IEnumMediaTypes * This,
  1704.             /* [out] */ IEnumMediaTypes **ppEnum);
  1705.         
  1706.         END_INTERFACE
  1707.     } IEnumMediaTypesVtbl;
  1708.  
  1709.     interface IEnumMediaTypes
  1710.     {
  1711.         CONST_VTBL struct IEnumMediaTypesVtbl *lpVtbl;
  1712.     };
  1713.  
  1714.     
  1715.  
  1716. #ifdef COBJMACROS
  1717.  
  1718.  
  1719. #define IEnumMediaTypes_QueryInterface(This,riid,ppvObject)    \
  1720.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1721.  
  1722. #define IEnumMediaTypes_AddRef(This)    \
  1723.     (This)->lpVtbl -> AddRef(This)
  1724.  
  1725. #define IEnumMediaTypes_Release(This)    \
  1726.     (This)->lpVtbl -> Release(This)
  1727.  
  1728.  
  1729. #define IEnumMediaTypes_Next(This,cMediaTypes,ppMediaTypes,pcFetched)    \
  1730.     (This)->lpVtbl -> Next(This,cMediaTypes,ppMediaTypes,pcFetched)
  1731.  
  1732. #define IEnumMediaTypes_Skip(This,cMediaTypes)    \
  1733.     (This)->lpVtbl -> Skip(This,cMediaTypes)
  1734.  
  1735. #define IEnumMediaTypes_Reset(This)    \
  1736.     (This)->lpVtbl -> Reset(This)
  1737.  
  1738. #define IEnumMediaTypes_Clone(This,ppEnum)    \
  1739.     (This)->lpVtbl -> Clone(This,ppEnum)
  1740.  
  1741. #endif /* COBJMACROS */
  1742.  
  1743.  
  1744. #endif     /* C style interface */
  1745.  
  1746.  
  1747.  
  1748. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Next_Proxy( 
  1749.     IEnumMediaTypes * This,
  1750.     /* [in] */ ULONG cMediaTypes,
  1751.     /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,
  1752.     /* [out] */ ULONG *pcFetched);
  1753.  
  1754.  
  1755. void __RPC_STUB IEnumMediaTypes_Next_Stub(
  1756.     IRpcStubBuffer *This,
  1757.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1758.     PRPC_MESSAGE _pRpcMessage,
  1759.     DWORD *_pdwStubPhase);
  1760.  
  1761.  
  1762. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Skip_Proxy( 
  1763.     IEnumMediaTypes * This,
  1764.     /* [in] */ ULONG cMediaTypes);
  1765.  
  1766.  
  1767. void __RPC_STUB IEnumMediaTypes_Skip_Stub(
  1768.     IRpcStubBuffer *This,
  1769.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1770.     PRPC_MESSAGE _pRpcMessage,
  1771.     DWORD *_pdwStubPhase);
  1772.  
  1773.  
  1774. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Reset_Proxy( 
  1775.     IEnumMediaTypes * This);
  1776.  
  1777.  
  1778. void __RPC_STUB IEnumMediaTypes_Reset_Stub(
  1779.     IRpcStubBuffer *This,
  1780.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1781.     PRPC_MESSAGE _pRpcMessage,
  1782.     DWORD *_pdwStubPhase);
  1783.  
  1784.  
  1785. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Clone_Proxy( 
  1786.     IEnumMediaTypes * This,
  1787.     /* [out] */ IEnumMediaTypes **ppEnum);
  1788.  
  1789.  
  1790. void __RPC_STUB IEnumMediaTypes_Clone_Stub(
  1791.     IRpcStubBuffer *This,
  1792.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1793.     PRPC_MESSAGE _pRpcMessage,
  1794.     DWORD *_pdwStubPhase);
  1795.  
  1796.  
  1797.  
  1798. #endif     /* __IEnumMediaTypes_INTERFACE_DEFINED__ */
  1799.  
  1800.  
  1801. /* interface __MIDL_itf_strmif_0116 */
  1802. /* [local] */ 
  1803.  
  1804. typedef IEnumMediaTypes *PENUMMEDIATYPES;
  1805.  
  1806.  
  1807.  
  1808. extern RPC_IF_HANDLE __MIDL_itf_strmif_0116_v0_0_c_ifspec;
  1809. extern RPC_IF_HANDLE __MIDL_itf_strmif_0116_v0_0_s_ifspec;
  1810.  
  1811. #ifndef __IFilterGraph_INTERFACE_DEFINED__
  1812. #define __IFilterGraph_INTERFACE_DEFINED__
  1813.  
  1814. /* interface IFilterGraph */
  1815. /* [unique][uuid][object] */ 
  1816.  
  1817.  
  1818. EXTERN_C const IID IID_IFilterGraph;
  1819.  
  1820. #if defined(__cplusplus) && !defined(CINTERFACE)
  1821.     
  1822.     MIDL_INTERFACE("56a8689f-0ad4-11ce-b03a-0020af0ba770")
  1823.     IFilterGraph : public IUnknown
  1824.     {
  1825.     public:
  1826.         virtual HRESULT STDMETHODCALLTYPE AddFilter( 
  1827.             /* [in] */ IBaseFilter *pFilter,
  1828.             /* [string][in] */ LPCWSTR pName) = 0;
  1829.         
  1830.         virtual HRESULT STDMETHODCALLTYPE RemoveFilter( 
  1831.             /* [in] */ IBaseFilter *pFilter) = 0;
  1832.         
  1833.         virtual HRESULT STDMETHODCALLTYPE EnumFilters( 
  1834.             /* [out] */ IEnumFilters **ppEnum) = 0;
  1835.         
  1836.         virtual HRESULT STDMETHODCALLTYPE FindFilterByName( 
  1837.             /* [string][in] */ LPCWSTR pName,
  1838.             /* [out] */ IBaseFilter **ppFilter) = 0;
  1839.         
  1840.         virtual HRESULT STDMETHODCALLTYPE ConnectDirect( 
  1841.             /* [in] */ IPin *ppinOut,
  1842.             /* [in] */ IPin *ppinIn,
  1843.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  1844.         
  1845.         virtual HRESULT STDMETHODCALLTYPE Reconnect( 
  1846.             /* [in] */ IPin *ppin) = 0;
  1847.         
  1848.         virtual HRESULT STDMETHODCALLTYPE Disconnect( 
  1849.             /* [in] */ IPin *ppin) = 0;
  1850.         
  1851.         virtual HRESULT STDMETHODCALLTYPE SetDefaultSyncSource( void) = 0;
  1852.         
  1853.     };
  1854.     
  1855. #else     /* C style interface */
  1856.  
  1857.     typedef struct IFilterGraphVtbl
  1858.     {
  1859.         BEGIN_INTERFACE
  1860.         
  1861.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1862.             IFilterGraph * This,
  1863.             /* [in] */ REFIID riid,
  1864.             /* [iid_is][out] */ void **ppvObject);
  1865.         
  1866.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1867.             IFilterGraph * This);
  1868.         
  1869.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1870.             IFilterGraph * This);
  1871.         
  1872.         HRESULT ( STDMETHODCALLTYPE *AddFilter )( 
  1873.             IFilterGraph * This,
  1874.             /* [in] */ IBaseFilter *pFilter,
  1875.             /* [string][in] */ LPCWSTR pName);
  1876.         
  1877.         HRESULT ( STDMETHODCALLTYPE *RemoveFilter )( 
  1878.             IFilterGraph * This,
  1879.             /* [in] */ IBaseFilter *pFilter);
  1880.         
  1881.         HRESULT ( STDMETHODCALLTYPE *EnumFilters )( 
  1882.             IFilterGraph * This,
  1883.             /* [out] */ IEnumFilters **ppEnum);
  1884.         
  1885.         HRESULT ( STDMETHODCALLTYPE *FindFilterByName )( 
  1886.             IFilterGraph * This,
  1887.             /* [string][in] */ LPCWSTR pName,
  1888.             /* [out] */ IBaseFilter **ppFilter);
  1889.         
  1890.         HRESULT ( STDMETHODCALLTYPE *ConnectDirect )( 
  1891.             IFilterGraph * This,
  1892.             /* [in] */ IPin *ppinOut,
  1893.             /* [in] */ IPin *ppinIn,
  1894.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  1895.         
  1896.         HRESULT ( STDMETHODCALLTYPE *Reconnect )( 
  1897.             IFilterGraph * This,
  1898.             /* [in] */ IPin *ppin);
  1899.         
  1900.         HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  1901.             IFilterGraph * This,
  1902.             /* [in] */ IPin *ppin);
  1903.         
  1904.         HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )( 
  1905.             IFilterGraph * This);
  1906.         
  1907.         END_INTERFACE
  1908.     } IFilterGraphVtbl;
  1909.  
  1910.     interface IFilterGraph
  1911.     {
  1912.         CONST_VTBL struct IFilterGraphVtbl *lpVtbl;
  1913.     };
  1914.  
  1915.     
  1916.  
  1917. #ifdef COBJMACROS
  1918.  
  1919.  
  1920. #define IFilterGraph_QueryInterface(This,riid,ppvObject)    \
  1921.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1922.  
  1923. #define IFilterGraph_AddRef(This)    \
  1924.     (This)->lpVtbl -> AddRef(This)
  1925.  
  1926. #define IFilterGraph_Release(This)    \
  1927.     (This)->lpVtbl -> Release(This)
  1928.  
  1929.  
  1930. #define IFilterGraph_AddFilter(This,pFilter,pName)    \
  1931.     (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  1932.  
  1933. #define IFilterGraph_RemoveFilter(This,pFilter)    \
  1934.     (This)->lpVtbl -> RemoveFilter(This,pFilter)
  1935.  
  1936. #define IFilterGraph_EnumFilters(This,ppEnum)    \
  1937.     (This)->lpVtbl -> EnumFilters(This,ppEnum)
  1938.  
  1939. #define IFilterGraph_FindFilterByName(This,pName,ppFilter)    \
  1940.     (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  1941.  
  1942. #define IFilterGraph_ConnectDirect(This,ppinOut,ppinIn,pmt)    \
  1943.     (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  1944.  
  1945. #define IFilterGraph_Reconnect(This,ppin)    \
  1946.     (This)->lpVtbl -> Reconnect(This,ppin)
  1947.  
  1948. #define IFilterGraph_Disconnect(This,ppin)    \
  1949.     (This)->lpVtbl -> Disconnect(This,ppin)
  1950.  
  1951. #define IFilterGraph_SetDefaultSyncSource(This)    \
  1952.     (This)->lpVtbl -> SetDefaultSyncSource(This)
  1953.  
  1954. #endif /* COBJMACROS */
  1955.  
  1956.  
  1957. #endif     /* C style interface */
  1958.  
  1959.  
  1960.  
  1961. HRESULT STDMETHODCALLTYPE IFilterGraph_AddFilter_Proxy( 
  1962.     IFilterGraph * This,
  1963.     /* [in] */ IBaseFilter *pFilter,
  1964.     /* [string][in] */ LPCWSTR pName);
  1965.  
  1966.  
  1967. void __RPC_STUB IFilterGraph_AddFilter_Stub(
  1968.     IRpcStubBuffer *This,
  1969.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1970.     PRPC_MESSAGE _pRpcMessage,
  1971.     DWORD *_pdwStubPhase);
  1972.  
  1973.  
  1974. HRESULT STDMETHODCALLTYPE IFilterGraph_RemoveFilter_Proxy( 
  1975.     IFilterGraph * This,
  1976.     /* [in] */ IBaseFilter *pFilter);
  1977.  
  1978.  
  1979. void __RPC_STUB IFilterGraph_RemoveFilter_Stub(
  1980.     IRpcStubBuffer *This,
  1981.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1982.     PRPC_MESSAGE _pRpcMessage,
  1983.     DWORD *_pdwStubPhase);
  1984.  
  1985.  
  1986. HRESULT STDMETHODCALLTYPE IFilterGraph_EnumFilters_Proxy( 
  1987.     IFilterGraph * This,
  1988.     /* [out] */ IEnumFilters **ppEnum);
  1989.  
  1990.  
  1991. void __RPC_STUB IFilterGraph_EnumFilters_Stub(
  1992.     IRpcStubBuffer *This,
  1993.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1994.     PRPC_MESSAGE _pRpcMessage,
  1995.     DWORD *_pdwStubPhase);
  1996.  
  1997.  
  1998. HRESULT STDMETHODCALLTYPE IFilterGraph_FindFilterByName_Proxy( 
  1999.     IFilterGraph * This,
  2000.     /* [string][in] */ LPCWSTR pName,
  2001.     /* [out] */ IBaseFilter **ppFilter);
  2002.  
  2003.  
  2004. void __RPC_STUB IFilterGraph_FindFilterByName_Stub(
  2005.     IRpcStubBuffer *This,
  2006.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2007.     PRPC_MESSAGE _pRpcMessage,
  2008.     DWORD *_pdwStubPhase);
  2009.  
  2010.  
  2011. HRESULT STDMETHODCALLTYPE IFilterGraph_ConnectDirect_Proxy( 
  2012.     IFilterGraph * This,
  2013.     /* [in] */ IPin *ppinOut,
  2014.     /* [in] */ IPin *ppinIn,
  2015.     /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  2016.  
  2017.  
  2018. void __RPC_STUB IFilterGraph_ConnectDirect_Stub(
  2019.     IRpcStubBuffer *This,
  2020.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2021.     PRPC_MESSAGE _pRpcMessage,
  2022.     DWORD *_pdwStubPhase);
  2023.  
  2024.  
  2025. HRESULT STDMETHODCALLTYPE IFilterGraph_Reconnect_Proxy( 
  2026.     IFilterGraph * This,
  2027.     /* [in] */ IPin *ppin);
  2028.  
  2029.  
  2030. void __RPC_STUB IFilterGraph_Reconnect_Stub(
  2031.     IRpcStubBuffer *This,
  2032.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2033.     PRPC_MESSAGE _pRpcMessage,
  2034.     DWORD *_pdwStubPhase);
  2035.  
  2036.  
  2037. HRESULT STDMETHODCALLTYPE IFilterGraph_Disconnect_Proxy( 
  2038.     IFilterGraph * This,
  2039.     /* [in] */ IPin *ppin);
  2040.  
  2041.  
  2042. void __RPC_STUB IFilterGraph_Disconnect_Stub(
  2043.     IRpcStubBuffer *This,
  2044.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2045.     PRPC_MESSAGE _pRpcMessage,
  2046.     DWORD *_pdwStubPhase);
  2047.  
  2048.  
  2049. HRESULT STDMETHODCALLTYPE IFilterGraph_SetDefaultSyncSource_Proxy( 
  2050.     IFilterGraph * This);
  2051.  
  2052.  
  2053. void __RPC_STUB IFilterGraph_SetDefaultSyncSource_Stub(
  2054.     IRpcStubBuffer *This,
  2055.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2056.     PRPC_MESSAGE _pRpcMessage,
  2057.     DWORD *_pdwStubPhase);
  2058.  
  2059.  
  2060.  
  2061. #endif     /* __IFilterGraph_INTERFACE_DEFINED__ */
  2062.  
  2063.  
  2064. /* interface __MIDL_itf_strmif_0117 */
  2065. /* [local] */ 
  2066.  
  2067. typedef IFilterGraph *PFILTERGRAPH;
  2068.  
  2069.  
  2070.  
  2071. extern RPC_IF_HANDLE __MIDL_itf_strmif_0117_v0_0_c_ifspec;
  2072. extern RPC_IF_HANDLE __MIDL_itf_strmif_0117_v0_0_s_ifspec;
  2073.  
  2074. #ifndef __IEnumFilters_INTERFACE_DEFINED__
  2075. #define __IEnumFilters_INTERFACE_DEFINED__
  2076.  
  2077. /* interface IEnumFilters */
  2078. /* [unique][uuid][object] */ 
  2079.  
  2080.  
  2081. EXTERN_C const IID IID_IEnumFilters;
  2082.  
  2083. #if defined(__cplusplus) && !defined(CINTERFACE)
  2084.     
  2085.     MIDL_INTERFACE("56a86893-0ad4-11ce-b03a-0020af0ba770")
  2086.     IEnumFilters : public IUnknown
  2087.     {
  2088.     public:
  2089.         virtual HRESULT STDMETHODCALLTYPE Next( 
  2090.             /* [in] */ ULONG cFilters,
  2091.             /* [out] */ IBaseFilter **ppFilter,
  2092.             /* [out] */ ULONG *pcFetched) = 0;
  2093.         
  2094.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  2095.             /* [in] */ ULONG cFilters) = 0;
  2096.         
  2097.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  2098.         
  2099.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  2100.             /* [out] */ IEnumFilters **ppEnum) = 0;
  2101.         
  2102.     };
  2103.     
  2104. #else     /* C style interface */
  2105.  
  2106.     typedef struct IEnumFiltersVtbl
  2107.     {
  2108.         BEGIN_INTERFACE
  2109.         
  2110.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2111.             IEnumFilters * This,
  2112.             /* [in] */ REFIID riid,
  2113.             /* [iid_is][out] */ void **ppvObject);
  2114.         
  2115.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2116.             IEnumFilters * This);
  2117.         
  2118.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2119.             IEnumFilters * This);
  2120.         
  2121.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  2122.             IEnumFilters * This,
  2123.             /* [in] */ ULONG cFilters,
  2124.             /* [out] */ IBaseFilter **ppFilter,
  2125.             /* [out] */ ULONG *pcFetched);
  2126.         
  2127.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  2128.             IEnumFilters * This,
  2129.             /* [in] */ ULONG cFilters);
  2130.         
  2131.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  2132.             IEnumFilters * This);
  2133.         
  2134.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  2135.             IEnumFilters * This,
  2136.             /* [out] */ IEnumFilters **ppEnum);
  2137.         
  2138.         END_INTERFACE
  2139.     } IEnumFiltersVtbl;
  2140.  
  2141.     interface IEnumFilters
  2142.     {
  2143.         CONST_VTBL struct IEnumFiltersVtbl *lpVtbl;
  2144.     };
  2145.  
  2146.     
  2147.  
  2148. #ifdef COBJMACROS
  2149.  
  2150.  
  2151. #define IEnumFilters_QueryInterface(This,riid,ppvObject)    \
  2152.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2153.  
  2154. #define IEnumFilters_AddRef(This)    \
  2155.     (This)->lpVtbl -> AddRef(This)
  2156.  
  2157. #define IEnumFilters_Release(This)    \
  2158.     (This)->lpVtbl -> Release(This)
  2159.  
  2160.  
  2161. #define IEnumFilters_Next(This,cFilters,ppFilter,pcFetched)    \
  2162.     (This)->lpVtbl -> Next(This,cFilters,ppFilter,pcFetched)
  2163.  
  2164. #define IEnumFilters_Skip(This,cFilters)    \
  2165.     (This)->lpVtbl -> Skip(This,cFilters)
  2166.  
  2167. #define IEnumFilters_Reset(This)    \
  2168.     (This)->lpVtbl -> Reset(This)
  2169.  
  2170. #define IEnumFilters_Clone(This,ppEnum)    \
  2171.     (This)->lpVtbl -> Clone(This,ppEnum)
  2172.  
  2173. #endif /* COBJMACROS */
  2174.  
  2175.  
  2176. #endif     /* C style interface */
  2177.  
  2178.  
  2179.  
  2180. HRESULT STDMETHODCALLTYPE IEnumFilters_Next_Proxy( 
  2181.     IEnumFilters * This,
  2182.     /* [in] */ ULONG cFilters,
  2183.     /* [out] */ IBaseFilter **ppFilter,
  2184.     /* [out] */ ULONG *pcFetched);
  2185.  
  2186.  
  2187. void __RPC_STUB IEnumFilters_Next_Stub(
  2188.     IRpcStubBuffer *This,
  2189.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2190.     PRPC_MESSAGE _pRpcMessage,
  2191.     DWORD *_pdwStubPhase);
  2192.  
  2193.  
  2194. HRESULT STDMETHODCALLTYPE IEnumFilters_Skip_Proxy( 
  2195.     IEnumFilters * This,
  2196.     /* [in] */ ULONG cFilters);
  2197.  
  2198.  
  2199. void __RPC_STUB IEnumFilters_Skip_Stub(
  2200.     IRpcStubBuffer *This,
  2201.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2202.     PRPC_MESSAGE _pRpcMessage,
  2203.     DWORD *_pdwStubPhase);
  2204.  
  2205.  
  2206. HRESULT STDMETHODCALLTYPE IEnumFilters_Reset_Proxy( 
  2207.     IEnumFilters * This);
  2208.  
  2209.  
  2210. void __RPC_STUB IEnumFilters_Reset_Stub(
  2211.     IRpcStubBuffer *This,
  2212.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2213.     PRPC_MESSAGE _pRpcMessage,
  2214.     DWORD *_pdwStubPhase);
  2215.  
  2216.  
  2217. HRESULT STDMETHODCALLTYPE IEnumFilters_Clone_Proxy( 
  2218.     IEnumFilters * This,
  2219.     /* [out] */ IEnumFilters **ppEnum);
  2220.  
  2221.  
  2222. void __RPC_STUB IEnumFilters_Clone_Stub(
  2223.     IRpcStubBuffer *This,
  2224.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2225.     PRPC_MESSAGE _pRpcMessage,
  2226.     DWORD *_pdwStubPhase);
  2227.  
  2228.  
  2229.  
  2230. #endif     /* __IEnumFilters_INTERFACE_DEFINED__ */
  2231.  
  2232.  
  2233. /* interface __MIDL_itf_strmif_0118 */
  2234. /* [local] */ 
  2235.  
  2236. typedef IEnumFilters *PENUMFILTERS;
  2237.  
  2238.  
  2239.  
  2240. extern RPC_IF_HANDLE __MIDL_itf_strmif_0118_v0_0_c_ifspec;
  2241. extern RPC_IF_HANDLE __MIDL_itf_strmif_0118_v0_0_s_ifspec;
  2242.  
  2243. #ifndef __IMediaFilter_INTERFACE_DEFINED__
  2244. #define __IMediaFilter_INTERFACE_DEFINED__
  2245.  
  2246. /* interface IMediaFilter */
  2247. /* [unique][uuid][object] */ 
  2248.  
  2249. typedef 
  2250. enum _FilterState
  2251.     {    State_Stopped    = 0,
  2252.     State_Paused    = State_Stopped + 1,
  2253.     State_Running    = State_Paused + 1
  2254.     }     FILTER_STATE;
  2255.  
  2256.  
  2257. EXTERN_C const IID IID_IMediaFilter;
  2258.  
  2259. #if defined(__cplusplus) && !defined(CINTERFACE)
  2260.     
  2261.     MIDL_INTERFACE("56a86899-0ad4-11ce-b03a-0020af0ba770")
  2262.     IMediaFilter : public IPersist
  2263.     {
  2264.     public:
  2265.         virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  2266.         
  2267.         virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  2268.         
  2269.         virtual HRESULT STDMETHODCALLTYPE Run( 
  2270.             REFERENCE_TIME tStart) = 0;
  2271.         
  2272.         virtual HRESULT STDMETHODCALLTYPE GetState( 
  2273.             /* [in] */ DWORD dwMilliSecsTimeout,
  2274.             /* [out] */ FILTER_STATE *State) = 0;
  2275.         
  2276.         virtual HRESULT STDMETHODCALLTYPE SetSyncSource( 
  2277.             /* [in] */ IReferenceClock *pClock) = 0;
  2278.         
  2279.         virtual HRESULT STDMETHODCALLTYPE GetSyncSource( 
  2280.             /* [out] */ IReferenceClock **pClock) = 0;
  2281.         
  2282.     };
  2283.     
  2284. #else     /* C style interface */
  2285.  
  2286.     typedef struct IMediaFilterVtbl
  2287.     {
  2288.         BEGIN_INTERFACE
  2289.         
  2290.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2291.             IMediaFilter * This,
  2292.             /* [in] */ REFIID riid,
  2293.             /* [iid_is][out] */ void **ppvObject);
  2294.         
  2295.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2296.             IMediaFilter * This);
  2297.         
  2298.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2299.             IMediaFilter * This);
  2300.         
  2301.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  2302.             IMediaFilter * This,
  2303.             /* [out] */ CLSID *pClassID);
  2304.         
  2305.         HRESULT ( STDMETHODCALLTYPE *Stop )( 
  2306.             IMediaFilter * This);
  2307.         
  2308.         HRESULT ( STDMETHODCALLTYPE *Pause )( 
  2309.             IMediaFilter * This);
  2310.         
  2311.         HRESULT ( STDMETHODCALLTYPE *Run )( 
  2312.             IMediaFilter * This,
  2313.             REFERENCE_TIME tStart);
  2314.         
  2315.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  2316.             IMediaFilter * This,
  2317.             /* [in] */ DWORD dwMilliSecsTimeout,
  2318.             /* [out] */ FILTER_STATE *State);
  2319.         
  2320.         HRESULT ( STDMETHODCALLTYPE *SetSyncSource )( 
  2321.             IMediaFilter * This,
  2322.             /* [in] */ IReferenceClock *pClock);
  2323.         
  2324.         HRESULT ( STDMETHODCALLTYPE *GetSyncSource )( 
  2325.             IMediaFilter * This,
  2326.             /* [out] */ IReferenceClock **pClock);
  2327.         
  2328.         END_INTERFACE
  2329.     } IMediaFilterVtbl;
  2330.  
  2331.     interface IMediaFilter
  2332.     {
  2333.         CONST_VTBL struct IMediaFilterVtbl *lpVtbl;
  2334.     };
  2335.  
  2336.     
  2337.  
  2338. #ifdef COBJMACROS
  2339.  
  2340.  
  2341. #define IMediaFilter_QueryInterface(This,riid,ppvObject)    \
  2342.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2343.  
  2344. #define IMediaFilter_AddRef(This)    \
  2345.     (This)->lpVtbl -> AddRef(This)
  2346.  
  2347. #define IMediaFilter_Release(This)    \
  2348.     (This)->lpVtbl -> Release(This)
  2349.  
  2350.  
  2351. #define IMediaFilter_GetClassID(This,pClassID)    \
  2352.     (This)->lpVtbl -> GetClassID(This,pClassID)
  2353.  
  2354.  
  2355. #define IMediaFilter_Stop(This)    \
  2356.     (This)->lpVtbl -> Stop(This)
  2357.  
  2358. #define IMediaFilter_Pause(This)    \
  2359.     (This)->lpVtbl -> Pause(This)
  2360.  
  2361. #define IMediaFilter_Run(This,tStart)    \
  2362.     (This)->lpVtbl -> Run(This,tStart)
  2363.  
  2364. #define IMediaFilter_GetState(This,dwMilliSecsTimeout,State)    \
  2365.     (This)->lpVtbl -> GetState(This,dwMilliSecsTimeout,State)
  2366.  
  2367. #define IMediaFilter_SetSyncSource(This,pClock)    \
  2368.     (This)->lpVtbl -> SetSyncSource(This,pClock)
  2369.  
  2370. #define IMediaFilter_GetSyncSource(This,pClock)    \
  2371.     (This)->lpVtbl -> GetSyncSource(This,pClock)
  2372.  
  2373. #endif /* COBJMACROS */
  2374.  
  2375.  
  2376. #endif     /* C style interface */
  2377.  
  2378.  
  2379.  
  2380. HRESULT STDMETHODCALLTYPE IMediaFilter_Stop_Proxy( 
  2381.     IMediaFilter * This);
  2382.  
  2383.  
  2384. void __RPC_STUB IMediaFilter_Stop_Stub(
  2385.     IRpcStubBuffer *This,
  2386.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2387.     PRPC_MESSAGE _pRpcMessage,
  2388.     DWORD *_pdwStubPhase);
  2389.  
  2390.  
  2391. HRESULT STDMETHODCALLTYPE IMediaFilter_Pause_Proxy( 
  2392.     IMediaFilter * This);
  2393.  
  2394.  
  2395. void __RPC_STUB IMediaFilter_Pause_Stub(
  2396.     IRpcStubBuffer *This,
  2397.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2398.     PRPC_MESSAGE _pRpcMessage,
  2399.     DWORD *_pdwStubPhase);
  2400.  
  2401.  
  2402. HRESULT STDMETHODCALLTYPE IMediaFilter_Run_Proxy( 
  2403.     IMediaFilter * This,
  2404.     REFERENCE_TIME tStart);
  2405.  
  2406.  
  2407. void __RPC_STUB IMediaFilter_Run_Stub(
  2408.     IRpcStubBuffer *This,
  2409.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2410.     PRPC_MESSAGE _pRpcMessage,
  2411.     DWORD *_pdwStubPhase);
  2412.  
  2413.  
  2414. HRESULT STDMETHODCALLTYPE IMediaFilter_GetState_Proxy( 
  2415.     IMediaFilter * This,
  2416.     /* [in] */ DWORD dwMilliSecsTimeout,
  2417.     /* [out] */ FILTER_STATE *State);
  2418.  
  2419.  
  2420. void __RPC_STUB IMediaFilter_GetState_Stub(
  2421.     IRpcStubBuffer *This,
  2422.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2423.     PRPC_MESSAGE _pRpcMessage,
  2424.     DWORD *_pdwStubPhase);
  2425.  
  2426.  
  2427. HRESULT STDMETHODCALLTYPE IMediaFilter_SetSyncSource_Proxy( 
  2428.     IMediaFilter * This,
  2429.     /* [in] */ IReferenceClock *pClock);
  2430.  
  2431.  
  2432. void __RPC_STUB IMediaFilter_SetSyncSource_Stub(
  2433.     IRpcStubBuffer *This,
  2434.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2435.     PRPC_MESSAGE _pRpcMessage,
  2436.     DWORD *_pdwStubPhase);
  2437.  
  2438.  
  2439. HRESULT STDMETHODCALLTYPE IMediaFilter_GetSyncSource_Proxy( 
  2440.     IMediaFilter * This,
  2441.     /* [out] */ IReferenceClock **pClock);
  2442.  
  2443.  
  2444. void __RPC_STUB IMediaFilter_GetSyncSource_Stub(
  2445.     IRpcStubBuffer *This,
  2446.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2447.     PRPC_MESSAGE _pRpcMessage,
  2448.     DWORD *_pdwStubPhase);
  2449.  
  2450.  
  2451.  
  2452. #endif     /* __IMediaFilter_INTERFACE_DEFINED__ */
  2453.  
  2454.  
  2455. /* interface __MIDL_itf_strmif_0119 */
  2456. /* [local] */ 
  2457.  
  2458. typedef IMediaFilter *PMEDIAFILTER;
  2459.  
  2460.  
  2461.  
  2462. extern RPC_IF_HANDLE __MIDL_itf_strmif_0119_v0_0_c_ifspec;
  2463. extern RPC_IF_HANDLE __MIDL_itf_strmif_0119_v0_0_s_ifspec;
  2464.  
  2465. #ifndef __IBaseFilter_INTERFACE_DEFINED__
  2466. #define __IBaseFilter_INTERFACE_DEFINED__
  2467.  
  2468. /* interface IBaseFilter */
  2469. /* [unique][uuid][object] */ 
  2470.  
  2471. typedef struct _FilterInfo
  2472.     {
  2473.     WCHAR achName[ 128 ];
  2474.     IFilterGraph *pGraph;
  2475.     }     FILTER_INFO;
  2476.  
  2477.  
  2478. EXTERN_C const IID IID_IBaseFilter;
  2479.  
  2480. #if defined(__cplusplus) && !defined(CINTERFACE)
  2481.     
  2482.     MIDL_INTERFACE("56a86895-0ad4-11ce-b03a-0020af0ba770")
  2483.     IBaseFilter : public IMediaFilter
  2484.     {
  2485.     public:
  2486.         virtual HRESULT STDMETHODCALLTYPE EnumPins( 
  2487.             /* [out] */ IEnumPins **ppEnum) = 0;
  2488.         
  2489.         virtual HRESULT STDMETHODCALLTYPE FindPin( 
  2490.             /* [string][in] */ LPCWSTR Id,
  2491.             /* [out] */ IPin **ppPin) = 0;
  2492.         
  2493.         virtual HRESULT STDMETHODCALLTYPE QueryFilterInfo( 
  2494.             /* [out] */ FILTER_INFO *pInfo) = 0;
  2495.         
  2496.         virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph( 
  2497.             /* [in] */ IFilterGraph *pGraph,
  2498.             /* [string][in] */ LPCWSTR pName) = 0;
  2499.         
  2500.         virtual HRESULT STDMETHODCALLTYPE QueryVendorInfo( 
  2501.             /* [string][out] */ LPWSTR *pVendorInfo) = 0;
  2502.         
  2503.     };
  2504.     
  2505. #else     /* C style interface */
  2506.  
  2507.     typedef struct IBaseFilterVtbl
  2508.     {
  2509.         BEGIN_INTERFACE
  2510.         
  2511.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2512.             IBaseFilter * This,
  2513.             /* [in] */ REFIID riid,
  2514.             /* [iid_is][out] */ void **ppvObject);
  2515.         
  2516.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2517.             IBaseFilter * This);
  2518.         
  2519.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2520.             IBaseFilter * This);
  2521.         
  2522.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  2523.             IBaseFilter * This,
  2524.             /* [out] */ CLSID *pClassID);
  2525.         
  2526.         HRESULT ( STDMETHODCALLTYPE *Stop )( 
  2527.             IBaseFilter * This);
  2528.         
  2529.         HRESULT ( STDMETHODCALLTYPE *Pause )( 
  2530.             IBaseFilter * This);
  2531.         
  2532.         HRESULT ( STDMETHODCALLTYPE *Run )( 
  2533.             IBaseFilter * This,
  2534.             REFERENCE_TIME tStart);
  2535.         
  2536.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  2537.             IBaseFilter * This,
  2538.             /* [in] */ DWORD dwMilliSecsTimeout,
  2539.             /* [out] */ FILTER_STATE *State);
  2540.         
  2541.         HRESULT ( STDMETHODCALLTYPE *SetSyncSource )( 
  2542.             IBaseFilter * This,
  2543.             /* [in] */ IReferenceClock *pClock);
  2544.         
  2545.         HRESULT ( STDMETHODCALLTYPE *GetSyncSource )( 
  2546.             IBaseFilter * This,
  2547.             /* [out] */ IReferenceClock **pClock);
  2548.         
  2549.         HRESULT ( STDMETHODCALLTYPE *EnumPins )( 
  2550.             IBaseFilter * This,
  2551.             /* [out] */ IEnumPins **ppEnum);
  2552.         
  2553.         HRESULT ( STDMETHODCALLTYPE *FindPin )( 
  2554.             IBaseFilter * This,
  2555.             /* [string][in] */ LPCWSTR Id,
  2556.             /* [out] */ IPin **ppPin);
  2557.         
  2558.         HRESULT ( STDMETHODCALLTYPE *QueryFilterInfo )( 
  2559.             IBaseFilter * This,
  2560.             /* [out] */ FILTER_INFO *pInfo);
  2561.         
  2562.         HRESULT ( STDMETHODCALLTYPE *JoinFilterGraph )( 
  2563.             IBaseFilter * This,
  2564.             /* [in] */ IFilterGraph *pGraph,
  2565.             /* [string][in] */ LPCWSTR pName);
  2566.         
  2567.         HRESULT ( STDMETHODCALLTYPE *QueryVendorInfo )( 
  2568.             IBaseFilter * This,
  2569.             /* [string][out] */ LPWSTR *pVendorInfo);
  2570.         
  2571.         END_INTERFACE
  2572.     } IBaseFilterVtbl;
  2573.  
  2574.     interface IBaseFilter
  2575.     {
  2576.         CONST_VTBL struct IBaseFilterVtbl *lpVtbl;
  2577.     };
  2578.  
  2579.     
  2580.  
  2581. #ifdef COBJMACROS
  2582.  
  2583.  
  2584. #define IBaseFilter_QueryInterface(This,riid,ppvObject)    \
  2585.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2586.  
  2587. #define IBaseFilter_AddRef(This)    \
  2588.     (This)->lpVtbl -> AddRef(This)
  2589.  
  2590. #define IBaseFilter_Release(This)    \
  2591.     (This)->lpVtbl -> Release(This)
  2592.  
  2593.  
  2594. #define IBaseFilter_GetClassID(This,pClassID)    \
  2595.     (This)->lpVtbl -> GetClassID(This,pClassID)
  2596.  
  2597.  
  2598. #define IBaseFilter_Stop(This)    \
  2599.     (This)->lpVtbl -> Stop(This)
  2600.  
  2601. #define IBaseFilter_Pause(This)    \
  2602.     (This)->lpVtbl -> Pause(This)
  2603.  
  2604. #define IBaseFilter_Run(This,tStart)    \
  2605.     (This)->lpVtbl -> Run(This,tStart)
  2606.  
  2607. #define IBaseFilter_GetState(This,dwMilliSecsTimeout,State)    \
  2608.     (This)->lpVtbl -> GetState(This,dwMilliSecsTimeout,State)
  2609.  
  2610. #define IBaseFilter_SetSyncSource(This,pClock)    \
  2611.     (This)->lpVtbl -> SetSyncSource(This,pClock)
  2612.  
  2613. #define IBaseFilter_GetSyncSource(This,pClock)    \
  2614.     (This)->lpVtbl -> GetSyncSource(This,pClock)
  2615.  
  2616.  
  2617. #define IBaseFilter_EnumPins(This,ppEnum)    \
  2618.     (This)->lpVtbl -> EnumPins(This,ppEnum)
  2619.  
  2620. #define IBaseFilter_FindPin(This,Id,ppPin)    \
  2621.     (This)->lpVtbl -> FindPin(This,Id,ppPin)
  2622.  
  2623. #define IBaseFilter_QueryFilterInfo(This,pInfo)    \
  2624.     (This)->lpVtbl -> QueryFilterInfo(This,pInfo)
  2625.  
  2626. #define IBaseFilter_JoinFilterGraph(This,pGraph,pName)    \
  2627.     (This)->lpVtbl -> JoinFilterGraph(This,pGraph,pName)
  2628.  
  2629. #define IBaseFilter_QueryVendorInfo(This,pVendorInfo)    \
  2630.     (This)->lpVtbl -> QueryVendorInfo(This,pVendorInfo)
  2631.  
  2632. #endif /* COBJMACROS */
  2633.  
  2634.  
  2635. #endif     /* C style interface */
  2636.  
  2637.  
  2638.  
  2639. HRESULT STDMETHODCALLTYPE IBaseFilter_EnumPins_Proxy( 
  2640.     IBaseFilter * This,
  2641.     /* [out] */ IEnumPins **ppEnum);
  2642.  
  2643.  
  2644. void __RPC_STUB IBaseFilter_EnumPins_Stub(
  2645.     IRpcStubBuffer *This,
  2646.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2647.     PRPC_MESSAGE _pRpcMessage,
  2648.     DWORD *_pdwStubPhase);
  2649.  
  2650.  
  2651. HRESULT STDMETHODCALLTYPE IBaseFilter_FindPin_Proxy( 
  2652.     IBaseFilter * This,
  2653.     /* [string][in] */ LPCWSTR Id,
  2654.     /* [out] */ IPin **ppPin);
  2655.  
  2656.  
  2657. void __RPC_STUB IBaseFilter_FindPin_Stub(
  2658.     IRpcStubBuffer *This,
  2659.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2660.     PRPC_MESSAGE _pRpcMessage,
  2661.     DWORD *_pdwStubPhase);
  2662.  
  2663.  
  2664. HRESULT STDMETHODCALLTYPE IBaseFilter_QueryFilterInfo_Proxy( 
  2665.     IBaseFilter * This,
  2666.     /* [out] */ FILTER_INFO *pInfo);
  2667.  
  2668.  
  2669. void __RPC_STUB IBaseFilter_QueryFilterInfo_Stub(
  2670.     IRpcStubBuffer *This,
  2671.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2672.     PRPC_MESSAGE _pRpcMessage,
  2673.     DWORD *_pdwStubPhase);
  2674.  
  2675.  
  2676. HRESULT STDMETHODCALLTYPE IBaseFilter_JoinFilterGraph_Proxy( 
  2677.     IBaseFilter * This,
  2678.     /* [in] */ IFilterGraph *pGraph,
  2679.     /* [string][in] */ LPCWSTR pName);
  2680.  
  2681.  
  2682. void __RPC_STUB IBaseFilter_JoinFilterGraph_Stub(
  2683.     IRpcStubBuffer *This,
  2684.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2685.     PRPC_MESSAGE _pRpcMessage,
  2686.     DWORD *_pdwStubPhase);
  2687.  
  2688.  
  2689. HRESULT STDMETHODCALLTYPE IBaseFilter_QueryVendorInfo_Proxy( 
  2690.     IBaseFilter * This,
  2691.     /* [string][out] */ LPWSTR *pVendorInfo);
  2692.  
  2693.  
  2694. void __RPC_STUB IBaseFilter_QueryVendorInfo_Stub(
  2695.     IRpcStubBuffer *This,
  2696.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2697.     PRPC_MESSAGE _pRpcMessage,
  2698.     DWORD *_pdwStubPhase);
  2699.  
  2700.  
  2701.  
  2702. #endif     /* __IBaseFilter_INTERFACE_DEFINED__ */
  2703.  
  2704.  
  2705. /* interface __MIDL_itf_strmif_0120 */
  2706. /* [local] */ 
  2707.  
  2708. typedef IBaseFilter *PFILTER;
  2709.  
  2710.  
  2711.  
  2712. extern RPC_IF_HANDLE __MIDL_itf_strmif_0120_v0_0_c_ifspec;
  2713. extern RPC_IF_HANDLE __MIDL_itf_strmif_0120_v0_0_s_ifspec;
  2714.  
  2715. #ifndef __IReferenceClock_INTERFACE_DEFINED__
  2716. #define __IReferenceClock_INTERFACE_DEFINED__
  2717.  
  2718. /* interface IReferenceClock */
  2719. /* [unique][uuid][object] */ 
  2720.  
  2721.  
  2722. EXTERN_C const IID IID_IReferenceClock;
  2723.  
  2724. #if defined(__cplusplus) && !defined(CINTERFACE)
  2725.     
  2726.     MIDL_INTERFACE("56a86897-0ad4-11ce-b03a-0020af0ba770")
  2727.     IReferenceClock : public IUnknown
  2728.     {
  2729.     public:
  2730.         virtual HRESULT STDMETHODCALLTYPE GetTime( 
  2731.             /* [out] */ REFERENCE_TIME *pTime) = 0;
  2732.         
  2733.         virtual HRESULT STDMETHODCALLTYPE AdviseTime( 
  2734.             /* [in] */ REFERENCE_TIME baseTime,
  2735.             /* [in] */ REFERENCE_TIME streamTime,
  2736.             /* [in] */ HEVENT hEvent,
  2737.             /* [out] */ DWORD_PTR *pdwAdviseCookie) = 0;
  2738.         
  2739.         virtual HRESULT STDMETHODCALLTYPE AdvisePeriodic( 
  2740.             /* [in] */ REFERENCE_TIME startTime,
  2741.             /* [in] */ REFERENCE_TIME periodTime,
  2742.             /* [in] */ HSEMAPHORE hSemaphore,
  2743.             /* [out] */ DWORD_PTR *pdwAdviseCookie) = 0;
  2744.         
  2745.         virtual HRESULT STDMETHODCALLTYPE Unadvise( 
  2746.             /* [in] */ DWORD_PTR dwAdviseCookie) = 0;
  2747.         
  2748.     };
  2749.     
  2750. #else     /* C style interface */
  2751.  
  2752.     typedef struct IReferenceClockVtbl
  2753.     {
  2754.         BEGIN_INTERFACE
  2755.         
  2756.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2757.             IReferenceClock * This,
  2758.             /* [in] */ REFIID riid,
  2759.             /* [iid_is][out] */ void **ppvObject);
  2760.         
  2761.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2762.             IReferenceClock * This);
  2763.         
  2764.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2765.             IReferenceClock * This);
  2766.         
  2767.         HRESULT ( STDMETHODCALLTYPE *GetTime )( 
  2768.             IReferenceClock * This,
  2769.             /* [out] */ REFERENCE_TIME *pTime);
  2770.         
  2771.         HRESULT ( STDMETHODCALLTYPE *AdviseTime )( 
  2772.             IReferenceClock * This,
  2773.             /* [in] */ REFERENCE_TIME baseTime,
  2774.             /* [in] */ REFERENCE_TIME streamTime,
  2775.             /* [in] */ HEVENT hEvent,
  2776.             /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2777.         
  2778.         HRESULT ( STDMETHODCALLTYPE *AdvisePeriodic )( 
  2779.             IReferenceClock * This,
  2780.             /* [in] */ REFERENCE_TIME startTime,
  2781.             /* [in] */ REFERENCE_TIME periodTime,
  2782.             /* [in] */ HSEMAPHORE hSemaphore,
  2783.             /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2784.         
  2785.         HRESULT ( STDMETHODCALLTYPE *Unadvise )( 
  2786.             IReferenceClock * This,
  2787.             /* [in] */ DWORD_PTR dwAdviseCookie);
  2788.         
  2789.         END_INTERFACE
  2790.     } IReferenceClockVtbl;
  2791.  
  2792.     interface IReferenceClock
  2793.     {
  2794.         CONST_VTBL struct IReferenceClockVtbl *lpVtbl;
  2795.     };
  2796.  
  2797.     
  2798.  
  2799. #ifdef COBJMACROS
  2800.  
  2801.  
  2802. #define IReferenceClock_QueryInterface(This,riid,ppvObject)    \
  2803.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2804.  
  2805. #define IReferenceClock_AddRef(This)    \
  2806.     (This)->lpVtbl -> AddRef(This)
  2807.  
  2808. #define IReferenceClock_Release(This)    \
  2809.     (This)->lpVtbl -> Release(This)
  2810.  
  2811.  
  2812. #define IReferenceClock_GetTime(This,pTime)    \
  2813.     (This)->lpVtbl -> GetTime(This,pTime)
  2814.  
  2815. #define IReferenceClock_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)    \
  2816.     (This)->lpVtbl -> AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
  2817.  
  2818. #define IReferenceClock_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)    \
  2819.     (This)->lpVtbl -> AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
  2820.  
  2821. #define IReferenceClock_Unadvise(This,dwAdviseCookie)    \
  2822.     (This)->lpVtbl -> Unadvise(This,dwAdviseCookie)
  2823.  
  2824. #endif /* COBJMACROS */
  2825.  
  2826.  
  2827. #endif     /* C style interface */
  2828.  
  2829.  
  2830.  
  2831. HRESULT STDMETHODCALLTYPE IReferenceClock_GetTime_Proxy( 
  2832.     IReferenceClock * This,
  2833.     /* [out] */ REFERENCE_TIME *pTime);
  2834.  
  2835.  
  2836. void __RPC_STUB IReferenceClock_GetTime_Stub(
  2837.     IRpcStubBuffer *This,
  2838.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2839.     PRPC_MESSAGE _pRpcMessage,
  2840.     DWORD *_pdwStubPhase);
  2841.  
  2842.  
  2843. HRESULT STDMETHODCALLTYPE IReferenceClock_AdviseTime_Proxy( 
  2844.     IReferenceClock * This,
  2845.     /* [in] */ REFERENCE_TIME baseTime,
  2846.     /* [in] */ REFERENCE_TIME streamTime,
  2847.     /* [in] */ HEVENT hEvent,
  2848.     /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2849.  
  2850.  
  2851. void __RPC_STUB IReferenceClock_AdviseTime_Stub(
  2852.     IRpcStubBuffer *This,
  2853.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2854.     PRPC_MESSAGE _pRpcMessage,
  2855.     DWORD *_pdwStubPhase);
  2856.  
  2857.  
  2858. HRESULT STDMETHODCALLTYPE IReferenceClock_AdvisePeriodic_Proxy( 
  2859.     IReferenceClock * This,
  2860.     /* [in] */ REFERENCE_TIME startTime,
  2861.     /* [in] */ REFERENCE_TIME periodTime,
  2862.     /* [in] */ HSEMAPHORE hSemaphore,
  2863.     /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2864.  
  2865.  
  2866. void __RPC_STUB IReferenceClock_AdvisePeriodic_Stub(
  2867.     IRpcStubBuffer *This,
  2868.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2869.     PRPC_MESSAGE _pRpcMessage,
  2870.     DWORD *_pdwStubPhase);
  2871.  
  2872.  
  2873. HRESULT STDMETHODCALLTYPE IReferenceClock_Unadvise_Proxy( 
  2874.     IReferenceClock * This,
  2875.     /* [in] */ DWORD_PTR dwAdviseCookie);
  2876.  
  2877.  
  2878. void __RPC_STUB IReferenceClock_Unadvise_Stub(
  2879.     IRpcStubBuffer *This,
  2880.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2881.     PRPC_MESSAGE _pRpcMessage,
  2882.     DWORD *_pdwStubPhase);
  2883.  
  2884.  
  2885.  
  2886. #endif     /* __IReferenceClock_INTERFACE_DEFINED__ */
  2887.  
  2888.  
  2889. /* interface __MIDL_itf_strmif_0121 */
  2890. /* [local] */ 
  2891.  
  2892. typedef IReferenceClock *PREFERENCECLOCK;
  2893.  
  2894.  
  2895.  
  2896. extern RPC_IF_HANDLE __MIDL_itf_strmif_0121_v0_0_c_ifspec;
  2897. extern RPC_IF_HANDLE __MIDL_itf_strmif_0121_v0_0_s_ifspec;
  2898.  
  2899. #ifndef __IReferenceClock2_INTERFACE_DEFINED__
  2900. #define __IReferenceClock2_INTERFACE_DEFINED__
  2901.  
  2902. /* interface IReferenceClock2 */
  2903. /* [unique][uuid][object] */ 
  2904.  
  2905.  
  2906. EXTERN_C const IID IID_IReferenceClock2;
  2907.  
  2908. #if defined(__cplusplus) && !defined(CINTERFACE)
  2909.     
  2910.     MIDL_INTERFACE("36b73885-c2c8-11cf-8b46-00805f6cef60")
  2911.     IReferenceClock2 : public IReferenceClock
  2912.     {
  2913.     public:
  2914.     };
  2915.     
  2916. #else     /* C style interface */
  2917.  
  2918.     typedef struct IReferenceClock2Vtbl
  2919.     {
  2920.         BEGIN_INTERFACE
  2921.         
  2922.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2923.             IReferenceClock2 * This,
  2924.             /* [in] */ REFIID riid,
  2925.             /* [iid_is][out] */ void **ppvObject);
  2926.         
  2927.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2928.             IReferenceClock2 * This);
  2929.         
  2930.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2931.             IReferenceClock2 * This);
  2932.         
  2933.         HRESULT ( STDMETHODCALLTYPE *GetTime )( 
  2934.             IReferenceClock2 * This,
  2935.             /* [out] */ REFERENCE_TIME *pTime);
  2936.         
  2937.         HRESULT ( STDMETHODCALLTYPE *AdviseTime )( 
  2938.             IReferenceClock2 * This,
  2939.             /* [in] */ REFERENCE_TIME baseTime,
  2940.             /* [in] */ REFERENCE_TIME streamTime,
  2941.             /* [in] */ HEVENT hEvent,
  2942.             /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2943.         
  2944.         HRESULT ( STDMETHODCALLTYPE *AdvisePeriodic )( 
  2945.             IReferenceClock2 * This,
  2946.             /* [in] */ REFERENCE_TIME startTime,
  2947.             /* [in] */ REFERENCE_TIME periodTime,
  2948.             /* [in] */ HSEMAPHORE hSemaphore,
  2949.             /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2950.         
  2951.         HRESULT ( STDMETHODCALLTYPE *Unadvise )( 
  2952.             IReferenceClock2 * This,
  2953.             /* [in] */ DWORD_PTR dwAdviseCookie);
  2954.         
  2955.         END_INTERFACE
  2956.     } IReferenceClock2Vtbl;
  2957.  
  2958.     interface IReferenceClock2
  2959.     {
  2960.         CONST_VTBL struct IReferenceClock2Vtbl *lpVtbl;
  2961.     };
  2962.  
  2963.     
  2964.  
  2965. #ifdef COBJMACROS
  2966.  
  2967.  
  2968. #define IReferenceClock2_QueryInterface(This,riid,ppvObject)    \
  2969.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2970.  
  2971. #define IReferenceClock2_AddRef(This)    \
  2972.     (This)->lpVtbl -> AddRef(This)
  2973.  
  2974. #define IReferenceClock2_Release(This)    \
  2975.     (This)->lpVtbl -> Release(This)
  2976.  
  2977.  
  2978. #define IReferenceClock2_GetTime(This,pTime)    \
  2979.     (This)->lpVtbl -> GetTime(This,pTime)
  2980.  
  2981. #define IReferenceClock2_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)    \
  2982.     (This)->lpVtbl -> AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
  2983.  
  2984. #define IReferenceClock2_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)    \
  2985.     (This)->lpVtbl -> AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
  2986.  
  2987. #define IReferenceClock2_Unadvise(This,dwAdviseCookie)    \
  2988.     (This)->lpVtbl -> Unadvise(This,dwAdviseCookie)
  2989.  
  2990.  
  2991. #endif /* COBJMACROS */
  2992.  
  2993.  
  2994. #endif     /* C style interface */
  2995.  
  2996.  
  2997.  
  2998.  
  2999. #endif     /* __IReferenceClock2_INTERFACE_DEFINED__ */
  3000.  
  3001.  
  3002. /* interface __MIDL_itf_strmif_0122 */
  3003. /* [local] */ 
  3004.  
  3005. typedef IReferenceClock2 *PREFERENCECLOCK2;
  3006.  
  3007.  
  3008.  
  3009. extern RPC_IF_HANDLE __MIDL_itf_strmif_0122_v0_0_c_ifspec;
  3010. extern RPC_IF_HANDLE __MIDL_itf_strmif_0122_v0_0_s_ifspec;
  3011.  
  3012. #ifndef __IMediaSample_INTERFACE_DEFINED__
  3013. #define __IMediaSample_INTERFACE_DEFINED__
  3014.  
  3015. /* interface IMediaSample */
  3016. /* [unique][uuid][object][local] */ 
  3017.  
  3018.  
  3019. EXTERN_C const IID IID_IMediaSample;
  3020.  
  3021. #if defined(__cplusplus) && !defined(CINTERFACE)
  3022.     
  3023.     MIDL_INTERFACE("56a8689a-0ad4-11ce-b03a-0020af0ba770")
  3024.     IMediaSample : public IUnknown
  3025.     {
  3026.     public:
  3027.         virtual HRESULT STDMETHODCALLTYPE GetPointer( 
  3028.             /* [out] */ BYTE **ppBuffer) = 0;
  3029.         
  3030.         virtual long STDMETHODCALLTYPE GetSize( void) = 0;
  3031.         
  3032.         virtual HRESULT STDMETHODCALLTYPE GetTime( 
  3033.             /* [out] */ REFERENCE_TIME *pTimeStart,
  3034.             /* [out] */ REFERENCE_TIME *pTimeEnd) = 0;
  3035.         
  3036.         virtual HRESULT STDMETHODCALLTYPE SetTime( 
  3037.             /* [in] */ REFERENCE_TIME *pTimeStart,
  3038.             /* [in] */ REFERENCE_TIME *pTimeEnd) = 0;
  3039.         
  3040.         virtual HRESULT STDMETHODCALLTYPE IsSyncPoint( void) = 0;
  3041.         
  3042.         virtual HRESULT STDMETHODCALLTYPE SetSyncPoint( 
  3043.             BOOL bIsSyncPoint) = 0;
  3044.         
  3045.         virtual HRESULT STDMETHODCALLTYPE IsPreroll( void) = 0;
  3046.         
  3047.         virtual HRESULT STDMETHODCALLTYPE SetPreroll( 
  3048.             BOOL bIsPreroll) = 0;
  3049.         
  3050.         virtual long STDMETHODCALLTYPE GetActualDataLength( void) = 0;
  3051.         
  3052.         virtual HRESULT STDMETHODCALLTYPE SetActualDataLength( 
  3053.             long __MIDL_0010) = 0;
  3054.         
  3055.         virtual HRESULT STDMETHODCALLTYPE GetMediaType( 
  3056.             AM_MEDIA_TYPE **ppMediaType) = 0;
  3057.         
  3058.         virtual HRESULT STDMETHODCALLTYPE SetMediaType( 
  3059.             AM_MEDIA_TYPE *pMediaType) = 0;
  3060.         
  3061.         virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( void) = 0;
  3062.         
  3063.         virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity( 
  3064.             BOOL bDiscontinuity) = 0;
  3065.         
  3066.         virtual HRESULT STDMETHODCALLTYPE GetMediaTime( 
  3067.             /* [out] */ LONGLONG *pTimeStart,
  3068.             /* [out] */ LONGLONG *pTimeEnd) = 0;
  3069.         
  3070.         virtual HRESULT STDMETHODCALLTYPE SetMediaTime( 
  3071.             /* [in] */ LONGLONG *pTimeStart,
  3072.             /* [in] */ LONGLONG *pTimeEnd) = 0;
  3073.         
  3074.     };
  3075.     
  3076. #else     /* C style interface */
  3077.  
  3078.     typedef struct IMediaSampleVtbl
  3079.     {
  3080.         BEGIN_INTERFACE
  3081.         
  3082.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3083.             IMediaSample * This,
  3084.             /* [in] */ REFIID riid,
  3085.             /* [iid_is][out] */ void **ppvObject);
  3086.         
  3087.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3088.             IMediaSample * This);
  3089.         
  3090.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3091.             IMediaSample * This);
  3092.         
  3093.         HRESULT ( STDMETHODCALLTYPE *GetPointer )( 
  3094.             IMediaSample * This,
  3095.             /* [out] */ BYTE **ppBuffer);
  3096.         
  3097.         long ( STDMETHODCALLTYPE *GetSize )( 
  3098.             IMediaSample * This);
  3099.         
  3100.         HRESULT ( STDMETHODCALLTYPE *GetTime )( 
  3101.             IMediaSample * This,
  3102.             /* [out] */ REFERENCE_TIME *pTimeStart,
  3103.             /* [out] */ REFERENCE_TIME *pTimeEnd);
  3104.         
  3105.         HRESULT ( STDMETHODCALLTYPE *SetTime )( 
  3106.             IMediaSample * This,
  3107.             /* [in] */ REFERENCE_TIME *pTimeStart,
  3108.             /* [in] */ REFERENCE_TIME *pTimeEnd);
  3109.         
  3110.         HRESULT ( STDMETHODCALLTYPE *IsSyncPoint )( 
  3111.             IMediaSample * This);
  3112.         
  3113.         HRESULT ( STDMETHODCALLTYPE *SetSyncPoint )( 
  3114.             IMediaSample * This,
  3115.             BOOL bIsSyncPoint);
  3116.         
  3117.         HRESULT ( STDMETHODCALLTYPE *IsPreroll )( 
  3118.             IMediaSample * This);
  3119.         
  3120.         HRESULT ( STDMETHODCALLTYPE *SetPreroll )( 
  3121.             IMediaSample * This,
  3122.             BOOL bIsPreroll);
  3123.         
  3124.         long ( STDMETHODCALLTYPE *GetActualDataLength )( 
  3125.             IMediaSample * This);
  3126.         
  3127.         HRESULT ( STDMETHODCALLTYPE *SetActualDataLength )( 
  3128.             IMediaSample * This,
  3129.             long __MIDL_0010);
  3130.         
  3131.         HRESULT ( STDMETHODCALLTYPE *GetMediaType )( 
  3132.             IMediaSample * This,
  3133.             AM_MEDIA_TYPE **ppMediaType);
  3134.         
  3135.         HRESULT ( STDMETHODCALLTYPE *SetMediaType )( 
  3136.             IMediaSample * This,
  3137.             AM_MEDIA_TYPE *pMediaType);
  3138.         
  3139.         HRESULT ( STDMETHODCALLTYPE *IsDiscontinuity )( 
  3140.             IMediaSample * This);
  3141.         
  3142.         HRESULT ( STDMETHODCALLTYPE *SetDiscontinuity )( 
  3143.             IMediaSample * This,
  3144.             BOOL bDiscontinuity);
  3145.         
  3146.         HRESULT ( STDMETHODCALLTYPE *GetMediaTime )( 
  3147.             IMediaSample * This,
  3148.             /* [out] */ LONGLONG *pTimeStart,
  3149.             /* [out] */ LONGLONG *pTimeEnd);
  3150.         
  3151.         HRESULT ( STDMETHODCALLTYPE *SetMediaTime )( 
  3152.             IMediaSample * This,
  3153.             /* [in] */ LONGLONG *pTimeStart,
  3154.             /* [in] */ LONGLONG *pTimeEnd);
  3155.         
  3156.         END_INTERFACE
  3157.     } IMediaSampleVtbl;
  3158.  
  3159.     interface IMediaSample
  3160.     {
  3161.         CONST_VTBL struct IMediaSampleVtbl *lpVtbl;
  3162.     };
  3163.  
  3164.     
  3165.  
  3166. #ifdef COBJMACROS
  3167.  
  3168.  
  3169. #define IMediaSample_QueryInterface(This,riid,ppvObject)    \
  3170.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3171.  
  3172. #define IMediaSample_AddRef(This)    \
  3173.     (This)->lpVtbl -> AddRef(This)
  3174.  
  3175. #define IMediaSample_Release(This)    \
  3176.     (This)->lpVtbl -> Release(This)
  3177.  
  3178.  
  3179. #define IMediaSample_GetPointer(This,ppBuffer)    \
  3180.     (This)->lpVtbl -> GetPointer(This,ppBuffer)
  3181.  
  3182. #define IMediaSample_GetSize(This)    \
  3183.     (This)->lpVtbl -> GetSize(This)
  3184.  
  3185. #define IMediaSample_GetTime(This,pTimeStart,pTimeEnd)    \
  3186.     (This)->lpVtbl -> GetTime(This,pTimeStart,pTimeEnd)
  3187.  
  3188. #define IMediaSample_SetTime(This,pTimeStart,pTimeEnd)    \
  3189.     (This)->lpVtbl -> SetTime(This,pTimeStart,pTimeEnd)
  3190.  
  3191. #define IMediaSample_IsSyncPoint(This)    \
  3192.     (This)->lpVtbl -> IsSyncPoint(This)
  3193.  
  3194. #define IMediaSample_SetSyncPoint(This,bIsSyncPoint)    \
  3195.     (This)->lpVtbl -> SetSyncPoint(This,bIsSyncPoint)
  3196.  
  3197. #define IMediaSample_IsPreroll(This)    \
  3198.     (This)->lpVtbl -> IsPreroll(This)
  3199.  
  3200. #define IMediaSample_SetPreroll(This,bIsPreroll)    \
  3201.     (This)->lpVtbl -> SetPreroll(This,bIsPreroll)
  3202.  
  3203. #define IMediaSample_GetActualDataLength(This)    \
  3204.     (This)->lpVtbl -> GetActualDataLength(This)
  3205.  
  3206. #define IMediaSample_SetActualDataLength(This,__MIDL_0010)    \
  3207.     (This)->lpVtbl -> SetActualDataLength(This,__MIDL_0010)
  3208.  
  3209. #define IMediaSample_GetMediaType(This,ppMediaType)    \
  3210.     (This)->lpVtbl -> GetMediaType(This,ppMediaType)
  3211.  
  3212. #define IMediaSample_SetMediaType(This,pMediaType)    \
  3213.     (This)->lpVtbl -> SetMediaType(This,pMediaType)
  3214.  
  3215. #define IMediaSample_IsDiscontinuity(This)    \
  3216.     (This)->lpVtbl -> IsDiscontinuity(This)
  3217.  
  3218. #define IMediaSample_SetDiscontinuity(This,bDiscontinuity)    \
  3219.     (This)->lpVtbl -> SetDiscontinuity(This,bDiscontinuity)
  3220.  
  3221. #define IMediaSample_GetMediaTime(This,pTimeStart,pTimeEnd)    \
  3222.     (This)->lpVtbl -> GetMediaTime(This,pTimeStart,pTimeEnd)
  3223.  
  3224. #define IMediaSample_SetMediaTime(This,pTimeStart,pTimeEnd)    \
  3225.     (This)->lpVtbl -> SetMediaTime(This,pTimeStart,pTimeEnd)
  3226.  
  3227. #endif /* COBJMACROS */
  3228.  
  3229.  
  3230. #endif     /* C style interface */
  3231.  
  3232.  
  3233.  
  3234. HRESULT STDMETHODCALLTYPE IMediaSample_GetPointer_Proxy( 
  3235.     IMediaSample * This,
  3236.     /* [out] */ BYTE **ppBuffer);
  3237.  
  3238.  
  3239. void __RPC_STUB IMediaSample_GetPointer_Stub(
  3240.     IRpcStubBuffer *This,
  3241.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3242.     PRPC_MESSAGE _pRpcMessage,
  3243.     DWORD *_pdwStubPhase);
  3244.  
  3245.  
  3246. long STDMETHODCALLTYPE IMediaSample_GetSize_Proxy( 
  3247.     IMediaSample * This);
  3248.  
  3249.  
  3250. void __RPC_STUB IMediaSample_GetSize_Stub(
  3251.     IRpcStubBuffer *This,
  3252.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3253.     PRPC_MESSAGE _pRpcMessage,
  3254.     DWORD *_pdwStubPhase);
  3255.  
  3256.  
  3257. HRESULT STDMETHODCALLTYPE IMediaSample_GetTime_Proxy( 
  3258.     IMediaSample * This,
  3259.     /* [out] */ REFERENCE_TIME *pTimeStart,
  3260.     /* [out] */ REFERENCE_TIME *pTimeEnd);
  3261.  
  3262.  
  3263. void __RPC_STUB IMediaSample_GetTime_Stub(
  3264.     IRpcStubBuffer *This,
  3265.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3266.     PRPC_MESSAGE _pRpcMessage,
  3267.     DWORD *_pdwStubPhase);
  3268.  
  3269.  
  3270. HRESULT STDMETHODCALLTYPE IMediaSample_SetTime_Proxy( 
  3271.     IMediaSample * This,
  3272.     /* [in] */ REFERENCE_TIME *pTimeStart,
  3273.     /* [in] */ REFERENCE_TIME *pTimeEnd);
  3274.  
  3275.  
  3276. void __RPC_STUB IMediaSample_SetTime_Stub(
  3277.     IRpcStubBuffer *This,
  3278.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3279.     PRPC_MESSAGE _pRpcMessage,
  3280.     DWORD *_pdwStubPhase);
  3281.  
  3282.  
  3283. HRESULT STDMETHODCALLTYPE IMediaSample_IsSyncPoint_Proxy( 
  3284.     IMediaSample * This);
  3285.  
  3286.  
  3287. void __RPC_STUB IMediaSample_IsSyncPoint_Stub(
  3288.     IRpcStubBuffer *This,
  3289.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3290.     PRPC_MESSAGE _pRpcMessage,
  3291.     DWORD *_pdwStubPhase);
  3292.  
  3293.  
  3294. HRESULT STDMETHODCALLTYPE IMediaSample_SetSyncPoint_Proxy( 
  3295.     IMediaSample * This,
  3296.     BOOL bIsSyncPoint);
  3297.  
  3298.  
  3299. void __RPC_STUB IMediaSample_SetSyncPoint_Stub(
  3300.     IRpcStubBuffer *This,
  3301.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3302.     PRPC_MESSAGE _pRpcMessage,
  3303.     DWORD *_pdwStubPhase);
  3304.  
  3305.  
  3306. HRESULT STDMETHODCALLTYPE IMediaSample_IsPreroll_Proxy( 
  3307.     IMediaSample * This);
  3308.  
  3309.  
  3310. void __RPC_STUB IMediaSample_IsPreroll_Stub(
  3311.     IRpcStubBuffer *This,
  3312.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3313.     PRPC_MESSAGE _pRpcMessage,
  3314.     DWORD *_pdwStubPhase);
  3315.  
  3316.  
  3317. HRESULT STDMETHODCALLTYPE IMediaSample_SetPreroll_Proxy( 
  3318.     IMediaSample * This,
  3319.     BOOL bIsPreroll);
  3320.  
  3321.  
  3322. void __RPC_STUB IMediaSample_SetPreroll_Stub(
  3323.     IRpcStubBuffer *This,
  3324.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3325.     PRPC_MESSAGE _pRpcMessage,
  3326.     DWORD *_pdwStubPhase);
  3327.  
  3328.  
  3329. long STDMETHODCALLTYPE IMediaSample_GetActualDataLength_Proxy( 
  3330.     IMediaSample * This);
  3331.  
  3332.  
  3333. void __RPC_STUB IMediaSample_GetActualDataLength_Stub(
  3334.     IRpcStubBuffer *This,
  3335.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3336.     PRPC_MESSAGE _pRpcMessage,
  3337.     DWORD *_pdwStubPhase);
  3338.  
  3339.  
  3340. HRESULT STDMETHODCALLTYPE IMediaSample_SetActualDataLength_Proxy( 
  3341.     IMediaSample * This,
  3342.     long __MIDL_0010);
  3343.  
  3344.  
  3345. void __RPC_STUB IMediaSample_SetActualDataLength_Stub(
  3346.     IRpcStubBuffer *This,
  3347.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3348.     PRPC_MESSAGE _pRpcMessage,
  3349.     DWORD *_pdwStubPhase);
  3350.  
  3351.  
  3352. HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaType_Proxy( 
  3353.     IMediaSample * This,
  3354.     AM_MEDIA_TYPE **ppMediaType);
  3355.  
  3356.  
  3357. void __RPC_STUB IMediaSample_GetMediaType_Stub(
  3358.     IRpcStubBuffer *This,
  3359.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3360.     PRPC_MESSAGE _pRpcMessage,
  3361.     DWORD *_pdwStubPhase);
  3362.  
  3363.  
  3364. HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaType_Proxy( 
  3365.     IMediaSample * This,
  3366.     AM_MEDIA_TYPE *pMediaType);
  3367.  
  3368.  
  3369. void __RPC_STUB IMediaSample_SetMediaType_Stub(
  3370.     IRpcStubBuffer *This,
  3371.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3372.     PRPC_MESSAGE _pRpcMessage,
  3373.     DWORD *_pdwStubPhase);
  3374.  
  3375.  
  3376. HRESULT STDMETHODCALLTYPE IMediaSample_IsDiscontinuity_Proxy( 
  3377.     IMediaSample * This);
  3378.  
  3379.  
  3380. void __RPC_STUB IMediaSample_IsDiscontinuity_Stub(
  3381.     IRpcStubBuffer *This,
  3382.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3383.     PRPC_MESSAGE _pRpcMessage,
  3384.     DWORD *_pdwStubPhase);
  3385.  
  3386.  
  3387. HRESULT STDMETHODCALLTYPE IMediaSample_SetDiscontinuity_Proxy( 
  3388.     IMediaSample * This,
  3389.     BOOL bDiscontinuity);
  3390.  
  3391.  
  3392. void __RPC_STUB IMediaSample_SetDiscontinuity_Stub(
  3393.     IRpcStubBuffer *This,
  3394.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3395.     PRPC_MESSAGE _pRpcMessage,
  3396.     DWORD *_pdwStubPhase);
  3397.  
  3398.  
  3399. HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaTime_Proxy( 
  3400.     IMediaSample * This,
  3401.     /* [out] */ LONGLONG *pTimeStart,
  3402.     /* [out] */ LONGLONG *pTimeEnd);
  3403.  
  3404.  
  3405. void __RPC_STUB IMediaSample_GetMediaTime_Stub(
  3406.     IRpcStubBuffer *This,
  3407.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3408.     PRPC_MESSAGE _pRpcMessage,
  3409.     DWORD *_pdwStubPhase);
  3410.  
  3411.  
  3412. HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaTime_Proxy( 
  3413.     IMediaSample * This,
  3414.     /* [in] */ LONGLONG *pTimeStart,
  3415.     /* [in] */ LONGLONG *pTimeEnd);
  3416.  
  3417.  
  3418. void __RPC_STUB IMediaSample_SetMediaTime_Stub(
  3419.     IRpcStubBuffer *This,
  3420.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3421.     PRPC_MESSAGE _pRpcMessage,
  3422.     DWORD *_pdwStubPhase);
  3423.  
  3424.  
  3425.  
  3426. #endif     /* __IMediaSample_INTERFACE_DEFINED__ */
  3427.  
  3428.  
  3429. /* interface __MIDL_itf_strmif_0123 */
  3430. /* [local] */ 
  3431.  
  3432. typedef IMediaSample *PMEDIASAMPLE;
  3433.  
  3434.  
  3435. enum tagAM_SAMPLE_PROPERTY_FLAGS
  3436.     {    AM_SAMPLE_SPLICEPOINT    = 0x1,
  3437.     AM_SAMPLE_PREROLL    = 0x2,
  3438.     AM_SAMPLE_DATADISCONTINUITY    = 0x4,
  3439.     AM_SAMPLE_TYPECHANGED    = 0x8,
  3440.     AM_SAMPLE_TIMEVALID    = 0x10,
  3441.     AM_SAMPLE_TIMEDISCONTINUITY    = 0x40,
  3442.     AM_SAMPLE_FLUSH_ON_PAUSE    = 0x80,
  3443.     AM_SAMPLE_STOPVALID    = 0x100,
  3444.     AM_SAMPLE_ENDOFSTREAM    = 0x200,
  3445.     AM_STREAM_MEDIA    = 0,
  3446.     AM_STREAM_CONTROL    = 1
  3447.     } ;
  3448. typedef struct tagAM_SAMPLE2_PROPERTIES
  3449.     {
  3450.     DWORD cbData;
  3451.     DWORD dwTypeSpecificFlags;
  3452.     DWORD dwSampleFlags;
  3453.     LONG lActual;
  3454.     REFERENCE_TIME tStart;
  3455.     REFERENCE_TIME tStop;
  3456.     DWORD dwStreamId;
  3457.     AM_MEDIA_TYPE *pMediaType;
  3458.     BYTE *pbBuffer;
  3459.     LONG cbBuffer;
  3460.     }     AM_SAMPLE2_PROPERTIES;
  3461.  
  3462.  
  3463.  
  3464. extern RPC_IF_HANDLE __MIDL_itf_strmif_0123_v0_0_c_ifspec;
  3465. extern RPC_IF_HANDLE __MIDL_itf_strmif_0123_v0_0_s_ifspec;
  3466.  
  3467. #ifndef __IMediaSample2_INTERFACE_DEFINED__
  3468. #define __IMediaSample2_INTERFACE_DEFINED__
  3469.  
  3470. /* interface IMediaSample2 */
  3471. /* [unique][uuid][object][local] */ 
  3472.  
  3473.  
  3474. EXTERN_C const IID IID_IMediaSample2;
  3475.  
  3476. #if defined(__cplusplus) && !defined(CINTERFACE)
  3477.     
  3478.     MIDL_INTERFACE("36b73884-c2c8-11cf-8b46-00805f6cef60")
  3479.     IMediaSample2 : public IMediaSample
  3480.     {
  3481.     public:
  3482.         virtual HRESULT STDMETHODCALLTYPE GetProperties( 
  3483.             /* [in] */ DWORD cbProperties,
  3484.             /* [size_is][out] */ BYTE *pbProperties) = 0;
  3485.         
  3486.         virtual HRESULT STDMETHODCALLTYPE SetProperties( 
  3487.             /* [in] */ DWORD cbProperties,
  3488.             /* [size_is][in] */ const BYTE *pbProperties) = 0;
  3489.         
  3490.     };
  3491.     
  3492. #else     /* C style interface */
  3493.  
  3494.     typedef struct IMediaSample2Vtbl
  3495.     {
  3496.         BEGIN_INTERFACE
  3497.         
  3498.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3499.             IMediaSample2 * This,
  3500.             /* [in] */ REFIID riid,
  3501.             /* [iid_is][out] */ void **ppvObject);
  3502.         
  3503.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3504.             IMediaSample2 * This);
  3505.         
  3506.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3507.             IMediaSample2 * This);
  3508.         
  3509.         HRESULT ( STDMETHODCALLTYPE *GetPointer )( 
  3510.             IMediaSample2 * This,
  3511.             /* [out] */ BYTE **ppBuffer);
  3512.         
  3513.         long ( STDMETHODCALLTYPE *GetSize )( 
  3514.             IMediaSample2 * This);
  3515.         
  3516.         HRESULT ( STDMETHODCALLTYPE *GetTime )( 
  3517.             IMediaSample2 * This,
  3518.             /* [out] */ REFERENCE_TIME *pTimeStart,
  3519.             /* [out] */ REFERENCE_TIME *pTimeEnd);
  3520.         
  3521.         HRESULT ( STDMETHODCALLTYPE *SetTime )( 
  3522.             IMediaSample2 * This,
  3523.             /* [in] */ REFERENCE_TIME *pTimeStart,
  3524.             /* [in] */ REFERENCE_TIME *pTimeEnd);
  3525.         
  3526.         HRESULT ( STDMETHODCALLTYPE *IsSyncPoint )( 
  3527.             IMediaSample2 * This);
  3528.         
  3529.         HRESULT ( STDMETHODCALLTYPE *SetSyncPoint )( 
  3530.             IMediaSample2 * This,
  3531.             BOOL bIsSyncPoint);
  3532.         
  3533.         HRESULT ( STDMETHODCALLTYPE *IsPreroll )( 
  3534.             IMediaSample2 * This);
  3535.         
  3536.         HRESULT ( STDMETHODCALLTYPE *SetPreroll )( 
  3537.             IMediaSample2 * This,
  3538.             BOOL bIsPreroll);
  3539.         
  3540.         long ( STDMETHODCALLTYPE *GetActualDataLength )( 
  3541.             IMediaSample2 * This);
  3542.         
  3543.         HRESULT ( STDMETHODCALLTYPE *SetActualDataLength )( 
  3544.             IMediaSample2 * This,
  3545.             long __MIDL_0010);
  3546.         
  3547.         HRESULT ( STDMETHODCALLTYPE *GetMediaType )( 
  3548.             IMediaSample2 * This,
  3549.             AM_MEDIA_TYPE **ppMediaType);
  3550.         
  3551.         HRESULT ( STDMETHODCALLTYPE *SetMediaType )( 
  3552.             IMediaSample2 * This,
  3553.             AM_MEDIA_TYPE *pMediaType);
  3554.         
  3555.         HRESULT ( STDMETHODCALLTYPE *IsDiscontinuity )( 
  3556.             IMediaSample2 * This);
  3557.         
  3558.         HRESULT ( STDMETHODCALLTYPE *SetDiscontinuity )( 
  3559.             IMediaSample2 * This,
  3560.             BOOL bDiscontinuity);
  3561.         
  3562.         HRESULT ( STDMETHODCALLTYPE *GetMediaTime )( 
  3563.             IMediaSample2 * This,
  3564.             /* [out] */ LONGLONG *pTimeStart,
  3565.             /* [out] */ LONGLONG *pTimeEnd);
  3566.         
  3567.         HRESULT ( STDMETHODCALLTYPE *SetMediaTime )( 
  3568.             IMediaSample2 * This,
  3569.             /* [in] */ LONGLONG *pTimeStart,
  3570.             /* [in] */ LONGLONG *pTimeEnd);
  3571.         
  3572.         HRESULT ( STDMETHODCALLTYPE *GetProperties )( 
  3573.             IMediaSample2 * This,
  3574.             /* [in] */ DWORD cbProperties,
  3575.             /* [size_is][out] */ BYTE *pbProperties);
  3576.         
  3577.         HRESULT ( STDMETHODCALLTYPE *SetProperties )( 
  3578.             IMediaSample2 * This,
  3579.             /* [in] */ DWORD cbProperties,
  3580.             /* [size_is][in] */ const BYTE *pbProperties);
  3581.         
  3582.         END_INTERFACE
  3583.     } IMediaSample2Vtbl;
  3584.  
  3585.     interface IMediaSample2
  3586.     {
  3587.         CONST_VTBL struct IMediaSample2Vtbl *lpVtbl;
  3588.     };
  3589.  
  3590.     
  3591.  
  3592. #ifdef COBJMACROS
  3593.  
  3594.  
  3595. #define IMediaSample2_QueryInterface(This,riid,ppvObject)    \
  3596.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3597.  
  3598. #define IMediaSample2_AddRef(This)    \
  3599.     (This)->lpVtbl -> AddRef(This)
  3600.  
  3601. #define IMediaSample2_Release(This)    \
  3602.     (This)->lpVtbl -> Release(This)
  3603.  
  3604.  
  3605. #define IMediaSample2_GetPointer(This,ppBuffer)    \
  3606.     (This)->lpVtbl -> GetPointer(This,ppBuffer)
  3607.  
  3608. #define IMediaSample2_GetSize(This)    \
  3609.     (This)->lpVtbl -> GetSize(This)
  3610.  
  3611. #define IMediaSample2_GetTime(This,pTimeStart,pTimeEnd)    \
  3612.     (This)->lpVtbl -> GetTime(This,pTimeStart,pTimeEnd)
  3613.  
  3614. #define IMediaSample2_SetTime(This,pTimeStart,pTimeEnd)    \
  3615.     (This)->lpVtbl -> SetTime(This,pTimeStart,pTimeEnd)
  3616.  
  3617. #define IMediaSample2_IsSyncPoint(This)    \
  3618.     (This)->lpVtbl -> IsSyncPoint(This)
  3619.  
  3620. #define IMediaSample2_SetSyncPoint(This,bIsSyncPoint)    \
  3621.     (This)->lpVtbl -> SetSyncPoint(This,bIsSyncPoint)
  3622.  
  3623. #define IMediaSample2_IsPreroll(This)    \
  3624.     (This)->lpVtbl -> IsPreroll(This)
  3625.  
  3626. #define IMediaSample2_SetPreroll(This,bIsPreroll)    \
  3627.     (This)->lpVtbl -> SetPreroll(This,bIsPreroll)
  3628.  
  3629. #define IMediaSample2_GetActualDataLength(This)    \
  3630.     (This)->lpVtbl -> GetActualDataLength(This)
  3631.  
  3632. #define IMediaSample2_SetActualDataLength(This,__MIDL_0010)    \
  3633.     (This)->lpVtbl -> SetActualDataLength(This,__MIDL_0010)
  3634.  
  3635. #define IMediaSample2_GetMediaType(This,ppMediaType)    \
  3636.     (This)->lpVtbl -> GetMediaType(This,ppMediaType)
  3637.  
  3638. #define IMediaSample2_SetMediaType(This,pMediaType)    \
  3639.     (This)->lpVtbl -> SetMediaType(This,pMediaType)
  3640.  
  3641. #define IMediaSample2_IsDiscontinuity(This)    \
  3642.     (This)->lpVtbl -> IsDiscontinuity(This)
  3643.  
  3644. #define IMediaSample2_SetDiscontinuity(This,bDiscontinuity)    \
  3645.     (This)->lpVtbl -> SetDiscontinuity(This,bDiscontinuity)
  3646.  
  3647. #define IMediaSample2_GetMediaTime(This,pTimeStart,pTimeEnd)    \
  3648.     (This)->lpVtbl -> GetMediaTime(This,pTimeStart,pTimeEnd)
  3649.  
  3650. #define IMediaSample2_SetMediaTime(This,pTimeStart,pTimeEnd)    \
  3651.     (This)->lpVtbl -> SetMediaTime(This,pTimeStart,pTimeEnd)
  3652.  
  3653.  
  3654. #define IMediaSample2_GetProperties(This,cbProperties,pbProperties)    \
  3655.     (This)->lpVtbl -> GetProperties(This,cbProperties,pbProperties)
  3656.  
  3657. #define IMediaSample2_SetProperties(This,cbProperties,pbProperties)    \
  3658.     (This)->lpVtbl -> SetProperties(This,cbProperties,pbProperties)
  3659.  
  3660. #endif /* COBJMACROS */
  3661.  
  3662.  
  3663. #endif     /* C style interface */
  3664.  
  3665.  
  3666.  
  3667. HRESULT STDMETHODCALLTYPE IMediaSample2_GetProperties_Proxy( 
  3668.     IMediaSample2 * This,
  3669.     /* [in] */ DWORD cbProperties,
  3670.     /* [size_is][out] */ BYTE *pbProperties);
  3671.  
  3672.  
  3673. void __RPC_STUB IMediaSample2_GetProperties_Stub(
  3674.     IRpcStubBuffer *This,
  3675.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3676.     PRPC_MESSAGE _pRpcMessage,
  3677.     DWORD *_pdwStubPhase);
  3678.  
  3679.  
  3680. HRESULT STDMETHODCALLTYPE IMediaSample2_SetProperties_Proxy( 
  3681.     IMediaSample2 * This,
  3682.     /* [in] */ DWORD cbProperties,
  3683.     /* [size_is][in] */ const BYTE *pbProperties);
  3684.  
  3685.  
  3686. void __RPC_STUB IMediaSample2_SetProperties_Stub(
  3687.     IRpcStubBuffer *This,
  3688.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3689.     PRPC_MESSAGE _pRpcMessage,
  3690.     DWORD *_pdwStubPhase);
  3691.  
  3692.  
  3693.  
  3694. #endif     /* __IMediaSample2_INTERFACE_DEFINED__ */
  3695.  
  3696.  
  3697. /* interface __MIDL_itf_strmif_0124 */
  3698. /* [local] */ 
  3699.  
  3700. typedef IMediaSample2 *PMEDIASAMPLE2;
  3701.  
  3702. #define AM_GBF_PREVFRAMESKIPPED 1
  3703. #define AM_GBF_NOTASYNCPOINT 2
  3704. #define AM_GBF_NOWAIT 4
  3705. #define AM_GBF_NODDSURFACELOCK 8
  3706.  
  3707.  
  3708. extern RPC_IF_HANDLE __MIDL_itf_strmif_0124_v0_0_c_ifspec;
  3709. extern RPC_IF_HANDLE __MIDL_itf_strmif_0124_v0_0_s_ifspec;
  3710.  
  3711. #ifndef __IMemAllocator_INTERFACE_DEFINED__
  3712. #define __IMemAllocator_INTERFACE_DEFINED__
  3713.  
  3714. /* interface IMemAllocator */
  3715. /* [unique][uuid][object] */ 
  3716.  
  3717.  
  3718. EXTERN_C const IID IID_IMemAllocator;
  3719.  
  3720. #if defined(__cplusplus) && !defined(CINTERFACE)
  3721.     
  3722.     MIDL_INTERFACE("56a8689c-0ad4-11ce-b03a-0020af0ba770")
  3723.     IMemAllocator : public IUnknown
  3724.     {
  3725.     public:
  3726.         virtual HRESULT STDMETHODCALLTYPE SetProperties( 
  3727.             /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  3728.             /* [out] */ ALLOCATOR_PROPERTIES *pActual) = 0;
  3729.         
  3730.         virtual HRESULT STDMETHODCALLTYPE GetProperties( 
  3731.             /* [out] */ ALLOCATOR_PROPERTIES *pProps) = 0;
  3732.         
  3733.         virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0;
  3734.         
  3735.         virtual HRESULT STDMETHODCALLTYPE Decommit( void) = 0;
  3736.         
  3737.         virtual HRESULT STDMETHODCALLTYPE GetBuffer( 
  3738.             /* [out] */ IMediaSample **ppBuffer,
  3739.             /* [in] */ REFERENCE_TIME *pStartTime,
  3740.             /* [in] */ REFERENCE_TIME *pEndTime,
  3741.             /* [in] */ DWORD dwFlags) = 0;
  3742.         
  3743.         virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer( 
  3744.             /* [in] */ IMediaSample *pBuffer) = 0;
  3745.         
  3746.     };
  3747.     
  3748. #else     /* C style interface */
  3749.  
  3750.     typedef struct IMemAllocatorVtbl
  3751.     {
  3752.         BEGIN_INTERFACE
  3753.         
  3754.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3755.             IMemAllocator * This,
  3756.             /* [in] */ REFIID riid,
  3757.             /* [iid_is][out] */ void **ppvObject);
  3758.         
  3759.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3760.             IMemAllocator * This);
  3761.         
  3762.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3763.             IMemAllocator * This);
  3764.         
  3765.         HRESULT ( STDMETHODCALLTYPE *SetProperties )( 
  3766.             IMemAllocator * This,
  3767.             /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  3768.             /* [out] */ ALLOCATOR_PROPERTIES *pActual);
  3769.         
  3770.         HRESULT ( STDMETHODCALLTYPE *GetProperties )( 
  3771.             IMemAllocator * This,
  3772.             /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  3773.         
  3774.         HRESULT ( STDMETHODCALLTYPE *Commit )( 
  3775.             IMemAllocator * This);
  3776.         
  3777.         HRESULT ( STDMETHODCALLTYPE *Decommit )( 
  3778.             IMemAllocator * This);
  3779.         
  3780.         HRESULT ( STDMETHODCALLTYPE *GetBuffer )( 
  3781.             IMemAllocator * This,
  3782.             /* [out] */ IMediaSample **ppBuffer,
  3783.             /* [in] */ REFERENCE_TIME *pStartTime,
  3784.             /* [in] */ REFERENCE_TIME *pEndTime,
  3785.             /* [in] */ DWORD dwFlags);
  3786.         
  3787.         HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )( 
  3788.             IMemAllocator * This,
  3789.             /* [in] */ IMediaSample *pBuffer);
  3790.         
  3791.         END_INTERFACE
  3792.     } IMemAllocatorVtbl;
  3793.  
  3794.     interface IMemAllocator
  3795.     {
  3796.         CONST_VTBL struct IMemAllocatorVtbl *lpVtbl;
  3797.     };
  3798.  
  3799.     
  3800.  
  3801. #ifdef COBJMACROS
  3802.  
  3803.  
  3804. #define IMemAllocator_QueryInterface(This,riid,ppvObject)    \
  3805.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3806.  
  3807. #define IMemAllocator_AddRef(This)    \
  3808.     (This)->lpVtbl -> AddRef(This)
  3809.  
  3810. #define IMemAllocator_Release(This)    \
  3811.     (This)->lpVtbl -> Release(This)
  3812.  
  3813.  
  3814. #define IMemAllocator_SetProperties(This,pRequest,pActual)    \
  3815.     (This)->lpVtbl -> SetProperties(This,pRequest,pActual)
  3816.  
  3817. #define IMemAllocator_GetProperties(This,pProps)    \
  3818.     (This)->lpVtbl -> GetProperties(This,pProps)
  3819.  
  3820. #define IMemAllocator_Commit(This)    \
  3821.     (This)->lpVtbl -> Commit(This)
  3822.  
  3823. #define IMemAllocator_Decommit(This)    \
  3824.     (This)->lpVtbl -> Decommit(This)
  3825.  
  3826. #define IMemAllocator_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)    \
  3827.     (This)->lpVtbl -> GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
  3828.  
  3829. #define IMemAllocator_ReleaseBuffer(This,pBuffer)    \
  3830.     (This)->lpVtbl -> ReleaseBuffer(This,pBuffer)
  3831.  
  3832. #endif /* COBJMACROS */
  3833.  
  3834.  
  3835. #endif     /* C style interface */
  3836.  
  3837.  
  3838.  
  3839. HRESULT STDMETHODCALLTYPE IMemAllocator_SetProperties_Proxy( 
  3840.     IMemAllocator * This,
  3841.     /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  3842.     /* [out] */ ALLOCATOR_PROPERTIES *pActual);
  3843.  
  3844.  
  3845. void __RPC_STUB IMemAllocator_SetProperties_Stub(
  3846.     IRpcStubBuffer *This,
  3847.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3848.     PRPC_MESSAGE _pRpcMessage,
  3849.     DWORD *_pdwStubPhase);
  3850.  
  3851.  
  3852. HRESULT STDMETHODCALLTYPE IMemAllocator_GetProperties_Proxy( 
  3853.     IMemAllocator * This,
  3854.     /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  3855.  
  3856.  
  3857. void __RPC_STUB IMemAllocator_GetProperties_Stub(
  3858.     IRpcStubBuffer *This,
  3859.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3860.     PRPC_MESSAGE _pRpcMessage,
  3861.     DWORD *_pdwStubPhase);
  3862.  
  3863.  
  3864. HRESULT STDMETHODCALLTYPE IMemAllocator_Commit_Proxy( 
  3865.     IMemAllocator * This);
  3866.  
  3867.  
  3868. void __RPC_STUB IMemAllocator_Commit_Stub(
  3869.     IRpcStubBuffer *This,
  3870.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3871.     PRPC_MESSAGE _pRpcMessage,
  3872.     DWORD *_pdwStubPhase);
  3873.  
  3874.  
  3875. HRESULT STDMETHODCALLTYPE IMemAllocator_Decommit_Proxy( 
  3876.     IMemAllocator * This);
  3877.  
  3878.  
  3879. void __RPC_STUB IMemAllocator_Decommit_Stub(
  3880.     IRpcStubBuffer *This,
  3881.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3882.     PRPC_MESSAGE _pRpcMessage,
  3883.     DWORD *_pdwStubPhase);
  3884.  
  3885.  
  3886. HRESULT STDMETHODCALLTYPE IMemAllocator_GetBuffer_Proxy( 
  3887.     IMemAllocator * This,
  3888.     /* [out] */ IMediaSample **ppBuffer,
  3889.     /* [in] */ REFERENCE_TIME *pStartTime,
  3890.     /* [in] */ REFERENCE_TIME *pEndTime,
  3891.     /* [in] */ DWORD dwFlags);
  3892.  
  3893.  
  3894. void __RPC_STUB IMemAllocator_GetBuffer_Stub(
  3895.     IRpcStubBuffer *This,
  3896.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3897.     PRPC_MESSAGE _pRpcMessage,
  3898.     DWORD *_pdwStubPhase);
  3899.  
  3900.  
  3901. HRESULT STDMETHODCALLTYPE IMemAllocator_ReleaseBuffer_Proxy( 
  3902.     IMemAllocator * This,
  3903.     /* [in] */ IMediaSample *pBuffer);
  3904.  
  3905.  
  3906. void __RPC_STUB IMemAllocator_ReleaseBuffer_Stub(
  3907.     IRpcStubBuffer *This,
  3908.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3909.     PRPC_MESSAGE _pRpcMessage,
  3910.     DWORD *_pdwStubPhase);
  3911.  
  3912.  
  3913.  
  3914. #endif     /* __IMemAllocator_INTERFACE_DEFINED__ */
  3915.  
  3916.  
  3917. /* interface __MIDL_itf_strmif_0125 */
  3918. /* [local] */ 
  3919.  
  3920. typedef IMemAllocator *PMEMALLOCATOR;
  3921.  
  3922.  
  3923.  
  3924. extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_c_ifspec;
  3925. extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_s_ifspec;
  3926.  
  3927. #ifndef __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
  3928. #define __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
  3929.  
  3930. /* interface IMemAllocatorCallbackTemp */
  3931. /* [unique][uuid][object] */ 
  3932.  
  3933.  
  3934. EXTERN_C const IID IID_IMemAllocatorCallbackTemp;
  3935.  
  3936. #if defined(__cplusplus) && !defined(CINTERFACE)
  3937.     
  3938.     MIDL_INTERFACE("379a0cf0-c1de-11d2-abf5-00a0c905f375")
  3939.     IMemAllocatorCallbackTemp : public IMemAllocator
  3940.     {
  3941.     public:
  3942.         virtual HRESULT STDMETHODCALLTYPE SetNotify( 
  3943.             /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify) = 0;
  3944.         
  3945.         virtual HRESULT STDMETHODCALLTYPE GetFreeCount( 
  3946.             /* [out] */ LONG *plBuffersFree) = 0;
  3947.         
  3948.     };
  3949.     
  3950. #else     /* C style interface */
  3951.  
  3952.     typedef struct IMemAllocatorCallbackTempVtbl
  3953.     {
  3954.         BEGIN_INTERFACE
  3955.         
  3956.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3957.             IMemAllocatorCallbackTemp * This,
  3958.             /* [in] */ REFIID riid,
  3959.             /* [iid_is][out] */ void **ppvObject);
  3960.         
  3961.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3962.             IMemAllocatorCallbackTemp * This);
  3963.         
  3964.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3965.             IMemAllocatorCallbackTemp * This);
  3966.         
  3967.         HRESULT ( STDMETHODCALLTYPE *SetProperties )( 
  3968.             IMemAllocatorCallbackTemp * This,
  3969.             /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  3970.             /* [out] */ ALLOCATOR_PROPERTIES *pActual);
  3971.         
  3972.         HRESULT ( STDMETHODCALLTYPE *GetProperties )( 
  3973.             IMemAllocatorCallbackTemp * This,
  3974.             /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  3975.         
  3976.         HRESULT ( STDMETHODCALLTYPE *Commit )( 
  3977.             IMemAllocatorCallbackTemp * This);
  3978.         
  3979.         HRESULT ( STDMETHODCALLTYPE *Decommit )( 
  3980.             IMemAllocatorCallbackTemp * This);
  3981.         
  3982.         HRESULT ( STDMETHODCALLTYPE *GetBuffer )( 
  3983.             IMemAllocatorCallbackTemp * This,
  3984.             /* [out] */ IMediaSample **ppBuffer,
  3985.             /* [in] */ REFERENCE_TIME *pStartTime,
  3986.             /* [in] */ REFERENCE_TIME *pEndTime,
  3987.             /* [in] */ DWORD dwFlags);
  3988.         
  3989.         HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )( 
  3990.             IMemAllocatorCallbackTemp * This,
  3991.             /* [in] */ IMediaSample *pBuffer);
  3992.         
  3993.         HRESULT ( STDMETHODCALLTYPE *SetNotify )( 
  3994.             IMemAllocatorCallbackTemp * This,
  3995.             /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify);
  3996.         
  3997.         HRESULT ( STDMETHODCALLTYPE *GetFreeCount )( 
  3998.             IMemAllocatorCallbackTemp * This,
  3999.             /* [out] */ LONG *plBuffersFree);
  4000.         
  4001.         END_INTERFACE
  4002.     } IMemAllocatorCallbackTempVtbl;
  4003.  
  4004.     interface IMemAllocatorCallbackTemp
  4005.     {
  4006.         CONST_VTBL struct IMemAllocatorCallbackTempVtbl *lpVtbl;
  4007.     };
  4008.  
  4009.     
  4010.  
  4011. #ifdef COBJMACROS
  4012.  
  4013.  
  4014. #define IMemAllocatorCallbackTemp_QueryInterface(This,riid,ppvObject)    \
  4015.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4016.  
  4017. #define IMemAllocatorCallbackTemp_AddRef(This)    \
  4018.     (This)->lpVtbl -> AddRef(This)
  4019.  
  4020. #define IMemAllocatorCallbackTemp_Release(This)    \
  4021.     (This)->lpVtbl -> Release(This)
  4022.  
  4023.  
  4024. #define IMemAllocatorCallbackTemp_SetProperties(This,pRequest,pActual)    \
  4025.     (This)->lpVtbl -> SetProperties(This,pRequest,pActual)
  4026.  
  4027. #define IMemAllocatorCallbackTemp_GetProperties(This,pProps)    \
  4028.     (This)->lpVtbl -> GetProperties(This,pProps)
  4029.  
  4030. #define IMemAllocatorCallbackTemp_Commit(This)    \
  4031.     (This)->lpVtbl -> Commit(This)
  4032.  
  4033. #define IMemAllocatorCallbackTemp_Decommit(This)    \
  4034.     (This)->lpVtbl -> Decommit(This)
  4035.  
  4036. #define IMemAllocatorCallbackTemp_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)    \
  4037.     (This)->lpVtbl -> GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
  4038.  
  4039. #define IMemAllocatorCallbackTemp_ReleaseBuffer(This,pBuffer)    \
  4040.     (This)->lpVtbl -> ReleaseBuffer(This,pBuffer)
  4041.  
  4042.  
  4043. #define IMemAllocatorCallbackTemp_SetNotify(This,pNotify)    \
  4044.     (This)->lpVtbl -> SetNotify(This,pNotify)
  4045.  
  4046. #define IMemAllocatorCallbackTemp_GetFreeCount(This,plBuffersFree)    \
  4047.     (This)->lpVtbl -> GetFreeCount(This,plBuffersFree)
  4048.  
  4049. #endif /* COBJMACROS */
  4050.  
  4051.  
  4052. #endif     /* C style interface */
  4053.  
  4054.  
  4055.  
  4056. HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_SetNotify_Proxy( 
  4057.     IMemAllocatorCallbackTemp * This,
  4058.     /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify);
  4059.  
  4060.  
  4061. void __RPC_STUB IMemAllocatorCallbackTemp_SetNotify_Stub(
  4062.     IRpcStubBuffer *This,
  4063.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4064.     PRPC_MESSAGE _pRpcMessage,
  4065.     DWORD *_pdwStubPhase);
  4066.  
  4067.  
  4068. HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_GetFreeCount_Proxy( 
  4069.     IMemAllocatorCallbackTemp * This,
  4070.     /* [out] */ LONG *plBuffersFree);
  4071.  
  4072.  
  4073. void __RPC_STUB IMemAllocatorCallbackTemp_GetFreeCount_Stub(
  4074.     IRpcStubBuffer *This,
  4075.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4076.     PRPC_MESSAGE _pRpcMessage,
  4077.     DWORD *_pdwStubPhase);
  4078.  
  4079.  
  4080.  
  4081. #endif     /* __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ */
  4082.  
  4083.  
  4084. #ifndef __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
  4085. #define __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
  4086.  
  4087. /* interface IMemAllocatorNotifyCallbackTemp */
  4088. /* [unique][uuid][object] */ 
  4089.  
  4090.  
  4091. EXTERN_C const IID IID_IMemAllocatorNotifyCallbackTemp;
  4092.  
  4093. #if defined(__cplusplus) && !defined(CINTERFACE)
  4094.     
  4095.     MIDL_INTERFACE("92980b30-c1de-11d2-abf5-00a0c905f375")
  4096.     IMemAllocatorNotifyCallbackTemp : public IUnknown
  4097.     {
  4098.     public:
  4099.         virtual HRESULT STDMETHODCALLTYPE NotifyRelease( void) = 0;
  4100.         
  4101.     };
  4102.     
  4103. #else     /* C style interface */
  4104.  
  4105.     typedef struct IMemAllocatorNotifyCallbackTempVtbl
  4106.     {
  4107.         BEGIN_INTERFACE
  4108.         
  4109.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4110.             IMemAllocatorNotifyCallbackTemp * This,
  4111.             /* [in] */ REFIID riid,
  4112.             /* [iid_is][out] */ void **ppvObject);
  4113.         
  4114.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4115.             IMemAllocatorNotifyCallbackTemp * This);
  4116.         
  4117.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4118.             IMemAllocatorNotifyCallbackTemp * This);
  4119.         
  4120.         HRESULT ( STDMETHODCALLTYPE *NotifyRelease )( 
  4121.             IMemAllocatorNotifyCallbackTemp * This);
  4122.         
  4123.         END_INTERFACE
  4124.     } IMemAllocatorNotifyCallbackTempVtbl;
  4125.  
  4126.     interface IMemAllocatorNotifyCallbackTemp
  4127.     {
  4128.         CONST_VTBL struct IMemAllocatorNotifyCallbackTempVtbl *lpVtbl;
  4129.     };
  4130.  
  4131.     
  4132.  
  4133. #ifdef COBJMACROS
  4134.  
  4135.  
  4136. #define IMemAllocatorNotifyCallbackTemp_QueryInterface(This,riid,ppvObject)    \
  4137.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4138.  
  4139. #define IMemAllocatorNotifyCallbackTemp_AddRef(This)    \
  4140.     (This)->lpVtbl -> AddRef(This)
  4141.  
  4142. #define IMemAllocatorNotifyCallbackTemp_Release(This)    \
  4143.     (This)->lpVtbl -> Release(This)
  4144.  
  4145.  
  4146. #define IMemAllocatorNotifyCallbackTemp_NotifyRelease(This)    \
  4147.     (This)->lpVtbl -> NotifyRelease(This)
  4148.  
  4149. #endif /* COBJMACROS */
  4150.  
  4151.  
  4152. #endif     /* C style interface */
  4153.  
  4154.  
  4155.  
  4156. HRESULT STDMETHODCALLTYPE IMemAllocatorNotifyCallbackTemp_NotifyRelease_Proxy( 
  4157.     IMemAllocatorNotifyCallbackTemp * This);
  4158.  
  4159.  
  4160. void __RPC_STUB IMemAllocatorNotifyCallbackTemp_NotifyRelease_Stub(
  4161.     IRpcStubBuffer *This,
  4162.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4163.     PRPC_MESSAGE _pRpcMessage,
  4164.     DWORD *_pdwStubPhase);
  4165.  
  4166.  
  4167.  
  4168. #endif     /* __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ */
  4169.  
  4170.  
  4171. #ifndef __IMemInputPin_INTERFACE_DEFINED__
  4172. #define __IMemInputPin_INTERFACE_DEFINED__
  4173.  
  4174. /* interface IMemInputPin */
  4175. /* [unique][uuid][object] */ 
  4176.  
  4177.  
  4178. EXTERN_C const IID IID_IMemInputPin;
  4179.  
  4180. #if defined(__cplusplus) && !defined(CINTERFACE)
  4181.     
  4182.     MIDL_INTERFACE("56a8689d-0ad4-11ce-b03a-0020af0ba770")
  4183.     IMemInputPin : public IUnknown
  4184.     {
  4185.     public:
  4186.         virtual HRESULT STDMETHODCALLTYPE GetAllocator( 
  4187.             /* [out] */ IMemAllocator **ppAllocator) = 0;
  4188.         
  4189.         virtual HRESULT STDMETHODCALLTYPE NotifyAllocator( 
  4190.             /* [in] */ IMemAllocator *pAllocator,
  4191.             /* [in] */ BOOL bReadOnly) = 0;
  4192.         
  4193.         virtual HRESULT STDMETHODCALLTYPE GetAllocatorRequirements( 
  4194.             /* [out] */ ALLOCATOR_PROPERTIES *pProps) = 0;
  4195.         
  4196.         virtual HRESULT STDMETHODCALLTYPE Receive( 
  4197.             /* [in] */ IMediaSample *pSample) = 0;
  4198.         
  4199.         virtual HRESULT STDMETHODCALLTYPE ReceiveMultiple( 
  4200.             /* [size_is][in] */ IMediaSample **pSamples,
  4201.             /* [in] */ long nSamples,
  4202.             /* [out] */ long *nSamplesProcessed) = 0;
  4203.         
  4204.         virtual HRESULT STDMETHODCALLTYPE ReceiveCanBlock( void) = 0;
  4205.         
  4206.     };
  4207.     
  4208. #else     /* C style interface */
  4209.  
  4210.     typedef struct IMemInputPinVtbl
  4211.     {
  4212.         BEGIN_INTERFACE
  4213.         
  4214.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4215.             IMemInputPin * This,
  4216.             /* [in] */ REFIID riid,
  4217.             /* [iid_is][out] */ void **ppvObject);
  4218.         
  4219.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4220.             IMemInputPin * This);
  4221.         
  4222.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4223.             IMemInputPin * This);
  4224.         
  4225.         HRESULT ( STDMETHODCALLTYPE *GetAllocator )( 
  4226.             IMemInputPin * This,
  4227.             /* [out] */ IMemAllocator **ppAllocator);
  4228.         
  4229.         HRESULT ( STDMETHODCALLTYPE *NotifyAllocator )( 
  4230.             IMemInputPin * This,
  4231.             /* [in] */ IMemAllocator *pAllocator,
  4232.             /* [in] */ BOOL bReadOnly);
  4233.         
  4234.         HRESULT ( STDMETHODCALLTYPE *GetAllocatorRequirements )( 
  4235.             IMemInputPin * This,
  4236.             /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  4237.         
  4238.         HRESULT ( STDMETHODCALLTYPE *Receive )( 
  4239.             IMemInputPin * This,
  4240.             /* [in] */ IMediaSample *pSample);
  4241.         
  4242.         HRESULT ( STDMETHODCALLTYPE *ReceiveMultiple )( 
  4243.             IMemInputPin * This,
  4244.             /* [size_is][in] */ IMediaSample **pSamples,
  4245.             /* [in] */ long nSamples,
  4246.             /* [out] */ long *nSamplesProcessed);
  4247.         
  4248.         HRESULT ( STDMETHODCALLTYPE *ReceiveCanBlock )( 
  4249.             IMemInputPin * This);
  4250.         
  4251.         END_INTERFACE
  4252.     } IMemInputPinVtbl;
  4253.  
  4254.     interface IMemInputPin
  4255.     {
  4256.         CONST_VTBL struct IMemInputPinVtbl *lpVtbl;
  4257.     };
  4258.  
  4259.     
  4260.  
  4261. #ifdef COBJMACROS
  4262.  
  4263.  
  4264. #define IMemInputPin_QueryInterface(This,riid,ppvObject)    \
  4265.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4266.  
  4267. #define IMemInputPin_AddRef(This)    \
  4268.     (This)->lpVtbl -> AddRef(This)
  4269.  
  4270. #define IMemInputPin_Release(This)    \
  4271.     (This)->lpVtbl -> Release(This)
  4272.  
  4273.  
  4274. #define IMemInputPin_GetAllocator(This,ppAllocator)    \
  4275.     (This)->lpVtbl -> GetAllocator(This,ppAllocator)
  4276.  
  4277. #define IMemInputPin_NotifyAllocator(This,pAllocator,bReadOnly)    \
  4278.     (This)->lpVtbl -> NotifyAllocator(This,pAllocator,bReadOnly)
  4279.  
  4280. #define IMemInputPin_GetAllocatorRequirements(This,pProps)    \
  4281.     (This)->lpVtbl -> GetAllocatorRequirements(This,pProps)
  4282.  
  4283. #define IMemInputPin_Receive(This,pSample)    \
  4284.     (This)->lpVtbl -> Receive(This,pSample)
  4285.  
  4286. #define IMemInputPin_ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed)    \
  4287.     (This)->lpVtbl -> ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed)
  4288.  
  4289. #define IMemInputPin_ReceiveCanBlock(This)    \
  4290.     (This)->lpVtbl -> ReceiveCanBlock(This)
  4291.  
  4292. #endif /* COBJMACROS */
  4293.  
  4294.  
  4295. #endif     /* C style interface */
  4296.  
  4297.  
  4298.  
  4299. HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocator_Proxy( 
  4300.     IMemInputPin * This,
  4301.     /* [out] */ IMemAllocator **ppAllocator);
  4302.  
  4303.  
  4304. void __RPC_STUB IMemInputPin_GetAllocator_Stub(
  4305.     IRpcStubBuffer *This,
  4306.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4307.     PRPC_MESSAGE _pRpcMessage,
  4308.     DWORD *_pdwStubPhase);
  4309.  
  4310.  
  4311. HRESULT STDMETHODCALLTYPE IMemInputPin_NotifyAllocator_Proxy( 
  4312.     IMemInputPin * This,
  4313.     /* [in] */ IMemAllocator *pAllocator,
  4314.     /* [in] */ BOOL bReadOnly);
  4315.  
  4316.  
  4317. void __RPC_STUB IMemInputPin_NotifyAllocator_Stub(
  4318.     IRpcStubBuffer *This,
  4319.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4320.     PRPC_MESSAGE _pRpcMessage,
  4321.     DWORD *_pdwStubPhase);
  4322.  
  4323.  
  4324. HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocatorRequirements_Proxy( 
  4325.     IMemInputPin * This,
  4326.     /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  4327.  
  4328.  
  4329. void __RPC_STUB IMemInputPin_GetAllocatorRequirements_Stub(
  4330.     IRpcStubBuffer *This,
  4331.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4332.     PRPC_MESSAGE _pRpcMessage,
  4333.     DWORD *_pdwStubPhase);
  4334.  
  4335.  
  4336. HRESULT STDMETHODCALLTYPE IMemInputPin_Receive_Proxy( 
  4337.     IMemInputPin * This,
  4338.     /* [in] */ IMediaSample *pSample);
  4339.  
  4340.  
  4341. void __RPC_STUB IMemInputPin_Receive_Stub(
  4342.     IRpcStubBuffer *This,
  4343.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4344.     PRPC_MESSAGE _pRpcMessage,
  4345.     DWORD *_pdwStubPhase);
  4346.  
  4347.  
  4348. HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveMultiple_Proxy( 
  4349.     IMemInputPin * This,
  4350.     /* [size_is][in] */ IMediaSample **pSamples,
  4351.     /* [in] */ long nSamples,
  4352.     /* [out] */ long *nSamplesProcessed);
  4353.  
  4354.  
  4355. void __RPC_STUB IMemInputPin_ReceiveMultiple_Stub(
  4356.     IRpcStubBuffer *This,
  4357.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4358.     PRPC_MESSAGE _pRpcMessage,
  4359.     DWORD *_pdwStubPhase);
  4360.  
  4361.  
  4362. HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveCanBlock_Proxy( 
  4363.     IMemInputPin * This);
  4364.  
  4365.  
  4366. void __RPC_STUB IMemInputPin_ReceiveCanBlock_Stub(
  4367.     IRpcStubBuffer *This,
  4368.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4369.     PRPC_MESSAGE _pRpcMessage,
  4370.     DWORD *_pdwStubPhase);
  4371.  
  4372.  
  4373.  
  4374. #endif     /* __IMemInputPin_INTERFACE_DEFINED__ */
  4375.  
  4376.  
  4377. /* interface __MIDL_itf_strmif_0128 */
  4378. /* [local] */ 
  4379.  
  4380. typedef IMemInputPin *PMEMINPUTPIN;
  4381.  
  4382.  
  4383.  
  4384. extern RPC_IF_HANDLE __MIDL_itf_strmif_0128_v0_0_c_ifspec;
  4385. extern RPC_IF_HANDLE __MIDL_itf_strmif_0128_v0_0_s_ifspec;
  4386.  
  4387. #ifndef __IAMovieSetup_INTERFACE_DEFINED__
  4388. #define __IAMovieSetup_INTERFACE_DEFINED__
  4389.  
  4390. /* interface IAMovieSetup */
  4391. /* [unique][uuid][object] */ 
  4392.  
  4393.  
  4394. EXTERN_C const IID IID_IAMovieSetup;
  4395.  
  4396. #if defined(__cplusplus) && !defined(CINTERFACE)
  4397.     
  4398.     MIDL_INTERFACE("a3d8cec0-7e5a-11cf-bbc5-00805f6cef20")
  4399.     IAMovieSetup : public IUnknown
  4400.     {
  4401.     public:
  4402.         virtual HRESULT STDMETHODCALLTYPE Register( void) = 0;
  4403.         
  4404.         virtual HRESULT STDMETHODCALLTYPE Unregister( void) = 0;
  4405.         
  4406.     };
  4407.     
  4408. #else     /* C style interface */
  4409.  
  4410.     typedef struct IAMovieSetupVtbl
  4411.     {
  4412.         BEGIN_INTERFACE
  4413.         
  4414.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4415.             IAMovieSetup * This,
  4416.             /* [in] */ REFIID riid,
  4417.             /* [iid_is][out] */ void **ppvObject);
  4418.         
  4419.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4420.             IAMovieSetup * This);
  4421.         
  4422.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4423.             IAMovieSetup * This);
  4424.         
  4425.         HRESULT ( STDMETHODCALLTYPE *Register )( 
  4426.             IAMovieSetup * This);
  4427.         
  4428.         HRESULT ( STDMETHODCALLTYPE *Unregister )( 
  4429.             IAMovieSetup * This);
  4430.         
  4431.         END_INTERFACE
  4432.     } IAMovieSetupVtbl;
  4433.  
  4434.     interface IAMovieSetup
  4435.     {
  4436.         CONST_VTBL struct IAMovieSetupVtbl *lpVtbl;
  4437.     };
  4438.  
  4439.     
  4440.  
  4441. #ifdef COBJMACROS
  4442.  
  4443.  
  4444. #define IAMovieSetup_QueryInterface(This,riid,ppvObject)    \
  4445.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4446.  
  4447. #define IAMovieSetup_AddRef(This)    \
  4448.     (This)->lpVtbl -> AddRef(This)
  4449.  
  4450. #define IAMovieSetup_Release(This)    \
  4451.     (This)->lpVtbl -> Release(This)
  4452.  
  4453.  
  4454. #define IAMovieSetup_Register(This)    \
  4455.     (This)->lpVtbl -> Register(This)
  4456.  
  4457. #define IAMovieSetup_Unregister(This)    \
  4458.     (This)->lpVtbl -> Unregister(This)
  4459.  
  4460. #endif /* COBJMACROS */
  4461.  
  4462.  
  4463. #endif     /* C style interface */
  4464.  
  4465.  
  4466.  
  4467. HRESULT STDMETHODCALLTYPE IAMovieSetup_Register_Proxy( 
  4468.     IAMovieSetup * This);
  4469.  
  4470.  
  4471. void __RPC_STUB IAMovieSetup_Register_Stub(
  4472.     IRpcStubBuffer *This,
  4473.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4474.     PRPC_MESSAGE _pRpcMessage,
  4475.     DWORD *_pdwStubPhase);
  4476.  
  4477.  
  4478. HRESULT STDMETHODCALLTYPE IAMovieSetup_Unregister_Proxy( 
  4479.     IAMovieSetup * This);
  4480.  
  4481.  
  4482. void __RPC_STUB IAMovieSetup_Unregister_Stub(
  4483.     IRpcStubBuffer *This,
  4484.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4485.     PRPC_MESSAGE _pRpcMessage,
  4486.     DWORD *_pdwStubPhase);
  4487.  
  4488.  
  4489.  
  4490. #endif     /* __IAMovieSetup_INTERFACE_DEFINED__ */
  4491.  
  4492.  
  4493. /* interface __MIDL_itf_strmif_0129 */
  4494. /* [local] */ 
  4495.  
  4496. typedef IAMovieSetup *PAMOVIESETUP;
  4497.  
  4498. typedef 
  4499. enum AM_SEEKING_SeekingFlags
  4500.     {    AM_SEEKING_NoPositioning    = 0,
  4501.     AM_SEEKING_AbsolutePositioning    = 0x1,
  4502.     AM_SEEKING_RelativePositioning    = 0x2,
  4503.     AM_SEEKING_IncrementalPositioning    = 0x3,
  4504.     AM_SEEKING_PositioningBitsMask    = 0x3,
  4505.     AM_SEEKING_SeekToKeyFrame    = 0x4,
  4506.     AM_SEEKING_ReturnTime    = 0x8,
  4507.     AM_SEEKING_Segment    = 0x10,
  4508.     AM_SEEKING_NoFlush    = 0x20
  4509.     }     AM_SEEKING_SEEKING_FLAGS;
  4510.  
  4511. typedef 
  4512. enum AM_SEEKING_SeekingCapabilities
  4513.     {    AM_SEEKING_CanSeekAbsolute    = 0x1,
  4514.     AM_SEEKING_CanSeekForwards    = 0x2,
  4515.     AM_SEEKING_CanSeekBackwards    = 0x4,
  4516.     AM_SEEKING_CanGetCurrentPos    = 0x8,
  4517.     AM_SEEKING_CanGetStopPos    = 0x10,
  4518.     AM_SEEKING_CanGetDuration    = 0x20,
  4519.     AM_SEEKING_CanPlayBackwards    = 0x40,
  4520.     AM_SEEKING_CanDoSegments    = 0x80,
  4521.     AM_SEEKING_Source    = 0x100
  4522.     }     AM_SEEKING_SEEKING_CAPABILITIES;
  4523.  
  4524.  
  4525.  
  4526. extern RPC_IF_HANDLE __MIDL_itf_strmif_0129_v0_0_c_ifspec;
  4527. extern RPC_IF_HANDLE __MIDL_itf_strmif_0129_v0_0_s_ifspec;
  4528.  
  4529. #ifndef __IMediaSeeking_INTERFACE_DEFINED__
  4530. #define __IMediaSeeking_INTERFACE_DEFINED__
  4531.  
  4532. /* interface IMediaSeeking */
  4533. /* [unique][uuid][object] */ 
  4534.  
  4535.  
  4536. EXTERN_C const IID IID_IMediaSeeking;
  4537.  
  4538. #if defined(__cplusplus) && !defined(CINTERFACE)
  4539.     
  4540.     MIDL_INTERFACE("36b73880-c2c8-11cf-8b46-00805f6cef60")
  4541.     IMediaSeeking : public IUnknown
  4542.     {
  4543.     public:
  4544.         virtual HRESULT STDMETHODCALLTYPE GetCapabilities( 
  4545.             /* [out] */ DWORD *pCapabilities) = 0;
  4546.         
  4547.         virtual HRESULT STDMETHODCALLTYPE CheckCapabilities( 
  4548.             /* [out][in] */ DWORD *pCapabilities) = 0;
  4549.         
  4550.         virtual HRESULT STDMETHODCALLTYPE IsFormatSupported( 
  4551.             /* [in] */ const GUID *pFormat) = 0;
  4552.         
  4553.         virtual HRESULT STDMETHODCALLTYPE QueryPreferredFormat( 
  4554.             /* [out] */ GUID *pFormat) = 0;
  4555.         
  4556.         virtual HRESULT STDMETHODCALLTYPE GetTimeFormat( 
  4557.             /* [out] */ GUID *pFormat) = 0;
  4558.         
  4559.         virtual HRESULT STDMETHODCALLTYPE IsUsingTimeFormat( 
  4560.             /* [in] */ const GUID *pFormat) = 0;
  4561.         
  4562.         virtual HRESULT STDMETHODCALLTYPE SetTimeFormat( 
  4563.             /* [in] */ const GUID *pFormat) = 0;
  4564.         
  4565.         virtual HRESULT STDMETHODCALLTYPE GetDuration( 
  4566.             /* [out] */ LONGLONG *pDuration) = 0;
  4567.         
  4568.         virtual HRESULT STDMETHODCALLTYPE GetStopPosition( 
  4569.             /* [out] */ LONGLONG *pStop) = 0;
  4570.         
  4571.         virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition( 
  4572.             /* [out] */ LONGLONG *pCurrent) = 0;
  4573.         
  4574.         virtual HRESULT STDMETHODCALLTYPE ConvertTimeFormat( 
  4575.             /* [out] */ LONGLONG *pTarget,
  4576.             /* [in] */ const GUID *pTargetFormat,
  4577.             /* [in] */ LONGLONG Source,
  4578.             /* [in] */ const GUID *pSourceFormat) = 0;
  4579.         
  4580.         virtual HRESULT STDMETHODCALLTYPE SetPositions( 
  4581.             /* [out][in] */ LONGLONG *pCurrent,
  4582.             /* [in] */ DWORD dwCurrentFlags,
  4583.             /* [out][in] */ LONGLONG *pStop,
  4584.             /* [in] */ DWORD dwStopFlags) = 0;
  4585.         
  4586.         virtual HRESULT STDMETHODCALLTYPE GetPositions( 
  4587.             /* [out] */ LONGLONG *pCurrent,
  4588.             /* [out] */ LONGLONG *pStop) = 0;
  4589.         
  4590.         virtual HRESULT STDMETHODCALLTYPE GetAvailable( 
  4591.             /* [out] */ LONGLONG *pEarliest,
  4592.             /* [out] */ LONGLONG *pLatest) = 0;
  4593.         
  4594.         virtual HRESULT STDMETHODCALLTYPE SetRate( 
  4595.             /* [in] */ double dRate) = 0;
  4596.         
  4597.         virtual HRESULT STDMETHODCALLTYPE GetRate( 
  4598.             /* [out] */ double *pdRate) = 0;
  4599.         
  4600.         virtual HRESULT STDMETHODCALLTYPE GetPreroll( 
  4601.             /* [out] */ LONGLONG *pllPreroll) = 0;
  4602.         
  4603.     };
  4604.     
  4605. #else     /* C style interface */
  4606.  
  4607.     typedef struct IMediaSeekingVtbl
  4608.     {
  4609.         BEGIN_INTERFACE
  4610.         
  4611.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4612.             IMediaSeeking * This,
  4613.             /* [in] */ REFIID riid,
  4614.             /* [iid_is][out] */ void **ppvObject);
  4615.         
  4616.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4617.             IMediaSeeking * This);
  4618.         
  4619.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4620.             IMediaSeeking * This);
  4621.         
  4622.         HRESULT ( STDMETHODCALLTYPE *GetCapabilities )( 
  4623.             IMediaSeeking * This,
  4624.             /* [out] */ DWORD *pCapabilities);
  4625.         
  4626.         HRESULT ( STDMETHODCALLTYPE *CheckCapabilities )( 
  4627.             IMediaSeeking * This,
  4628.             /* [out][in] */ DWORD *pCapabilities);
  4629.         
  4630.         HRESULT ( STDMETHODCALLTYPE *IsFormatSupported )( 
  4631.             IMediaSeeking * This,
  4632.             /* [in] */ const GUID *pFormat);
  4633.         
  4634.         HRESULT ( STDMETHODCALLTYPE *QueryPreferredFormat )( 
  4635.             IMediaSeeking * This,
  4636.             /* [out] */ GUID *pFormat);
  4637.         
  4638.         HRESULT ( STDMETHODCALLTYPE *GetTimeFormat )( 
  4639.             IMediaSeeking * This,
  4640.             /* [out] */ GUID *pFormat);
  4641.         
  4642.         HRESULT ( STDMETHODCALLTYPE *IsUsingTimeFormat )( 
  4643.             IMediaSeeking * This,
  4644.             /* [in] */ const GUID *pFormat);
  4645.         
  4646.         HRESULT ( STDMETHODCALLTYPE *SetTimeFormat )( 
  4647.             IMediaSeeking * This,
  4648.             /* [in] */ const GUID *pFormat);
  4649.         
  4650.         HRESULT ( STDMETHODCALLTYPE *GetDuration )( 
  4651.             IMediaSeeking * This,
  4652.             /* [out] */ LONGLONG *pDuration);
  4653.         
  4654.         HRESULT ( STDMETHODCALLTYPE *GetStopPosition )( 
  4655.             IMediaSeeking * This,
  4656.             /* [out] */ LONGLONG *pStop);
  4657.         
  4658.         HRESULT ( STDMETHODCALLTYPE *GetCurrentPosition )( 
  4659.             IMediaSeeking * This,
  4660.             /* [out] */ LONGLONG *pCurrent);
  4661.         
  4662.         HRESULT ( STDMETHODCALLTYPE *ConvertTimeFormat )( 
  4663.             IMediaSeeking * This,
  4664.             /* [out] */ LONGLONG *pTarget,
  4665.             /* [in] */ const GUID *pTargetFormat,
  4666.             /* [in] */ LONGLONG Source,
  4667.             /* [in] */ const GUID *pSourceFormat);
  4668.         
  4669.         HRESULT ( STDMETHODCALLTYPE *SetPositions )( 
  4670.             IMediaSeeking * This,
  4671.             /* [out][in] */ LONGLONG *pCurrent,
  4672.             /* [in] */ DWORD dwCurrentFlags,
  4673.             /* [out][in] */ LONGLONG *pStop,
  4674.             /* [in] */ DWORD dwStopFlags);
  4675.         
  4676.         HRESULT ( STDMETHODCALLTYPE *GetPositions )( 
  4677.             IMediaSeeking * This,
  4678.             /* [out] */ LONGLONG *pCurrent,
  4679.             /* [out] */ LONGLONG *pStop);
  4680.         
  4681.         HRESULT ( STDMETHODCALLTYPE *GetAvailable )( 
  4682.             IMediaSeeking * This,
  4683.             /* [out] */ LONGLONG *pEarliest,
  4684.             /* [out] */ LONGLONG *pLatest);
  4685.         
  4686.         HRESULT ( STDMETHODCALLTYPE *SetRate )( 
  4687.             IMediaSeeking * This,
  4688.             /* [in] */ double dRate);
  4689.         
  4690.         HRESULT ( STDMETHODCALLTYPE *GetRate )( 
  4691.             IMediaSeeking * This,
  4692.             /* [out] */ double *pdRate);
  4693.         
  4694.         HRESULT ( STDMETHODCALLTYPE *GetPreroll )( 
  4695.             IMediaSeeking * This,
  4696.             /* [out] */ LONGLONG *pllPreroll);
  4697.         
  4698.         END_INTERFACE
  4699.     } IMediaSeekingVtbl;
  4700.  
  4701.     interface IMediaSeeking
  4702.     {
  4703.         CONST_VTBL struct IMediaSeekingVtbl *lpVtbl;
  4704.     };
  4705.  
  4706.     
  4707.  
  4708. #ifdef COBJMACROS
  4709.  
  4710.  
  4711. #define IMediaSeeking_QueryInterface(This,riid,ppvObject)    \
  4712.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4713.  
  4714. #define IMediaSeeking_AddRef(This)    \
  4715.     (This)->lpVtbl -> AddRef(This)
  4716.  
  4717. #define IMediaSeeking_Release(This)    \
  4718.     (This)->lpVtbl -> Release(This)
  4719.  
  4720.  
  4721. #define IMediaSeeking_GetCapabilities(This,pCapabilities)    \
  4722.     (This)->lpVtbl -> GetCapabilities(This,pCapabilities)
  4723.  
  4724. #define IMediaSeeking_CheckCapabilities(This,pCapabilities)    \
  4725.     (This)->lpVtbl -> CheckCapabilities(This,pCapabilities)
  4726.  
  4727. #define IMediaSeeking_IsFormatSupported(This,pFormat)    \
  4728.     (This)->lpVtbl -> IsFormatSupported(This,pFormat)
  4729.  
  4730. #define IMediaSeeking_QueryPreferredFormat(This,pFormat)    \
  4731.     (This)->lpVtbl -> QueryPreferredFormat(This,pFormat)
  4732.  
  4733. #define IMediaSeeking_GetTimeFormat(This,pFormat)    \
  4734.     (This)->lpVtbl -> GetTimeFormat(This,pFormat)
  4735.  
  4736. #define IMediaSeeking_IsUsingTimeFormat(This,pFormat)    \
  4737.     (This)->lpVtbl -> IsUsingTimeFormat(This,pFormat)
  4738.  
  4739. #define IMediaSeeking_SetTimeFormat(This,pFormat)    \
  4740.     (This)->lpVtbl -> SetTimeFormat(This,pFormat)
  4741.  
  4742. #define IMediaSeeking_GetDuration(This,pDuration)    \
  4743.     (This)->lpVtbl -> GetDuration(This,pDuration)
  4744.  
  4745. #define IMediaSeeking_GetStopPosition(This,pStop)    \
  4746.     (This)->lpVtbl -> GetStopPosition(This,pStop)
  4747.  
  4748. #define IMediaSeeking_GetCurrentPosition(This,pCurrent)    \
  4749.     (This)->lpVtbl -> GetCurrentPosition(This,pCurrent)
  4750.  
  4751. #define IMediaSeeking_ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat)    \
  4752.     (This)->lpVtbl -> ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat)
  4753.  
  4754. #define IMediaSeeking_SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags)    \
  4755.     (This)->lpVtbl -> SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags)
  4756.  
  4757. #define IMediaSeeking_GetPositions(This,pCurrent,pStop)    \
  4758.     (This)->lpVtbl -> GetPositions(This,pCurrent,pStop)
  4759.  
  4760. #define IMediaSeeking_GetAvailable(This,pEarliest,pLatest)    \
  4761.     (This)->lpVtbl -> GetAvailable(This,pEarliest,pLatest)
  4762.  
  4763. #define IMediaSeeking_SetRate(This,dRate)    \
  4764.     (This)->lpVtbl -> SetRate(This,dRate)
  4765.  
  4766. #define IMediaSeeking_GetRate(This,pdRate)    \
  4767.     (This)->lpVtbl -> GetRate(This,pdRate)
  4768.  
  4769. #define IMediaSeeking_GetPreroll(This,pllPreroll)    \
  4770.     (This)->lpVtbl -> GetPreroll(This,pllPreroll)
  4771.  
  4772. #endif /* COBJMACROS */
  4773.  
  4774.  
  4775. #endif     /* C style interface */
  4776.  
  4777.  
  4778.  
  4779. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCapabilities_Proxy( 
  4780.     IMediaSeeking * This,
  4781.     /* [out] */ DWORD *pCapabilities);
  4782.  
  4783.  
  4784. void __RPC_STUB IMediaSeeking_GetCapabilities_Stub(
  4785.     IRpcStubBuffer *This,
  4786.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4787.     PRPC_MESSAGE _pRpcMessage,
  4788.     DWORD *_pdwStubPhase);
  4789.  
  4790.  
  4791. HRESULT STDMETHODCALLTYPE IMediaSeeking_CheckCapabilities_Proxy( 
  4792.     IMediaSeeking * This,
  4793.     /* [out][in] */ DWORD *pCapabilities);
  4794.  
  4795.  
  4796. void __RPC_STUB IMediaSeeking_CheckCapabilities_Stub(
  4797.     IRpcStubBuffer *This,
  4798.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4799.     PRPC_MESSAGE _pRpcMessage,
  4800.     DWORD *_pdwStubPhase);
  4801.  
  4802.  
  4803. HRESULT STDMETHODCALLTYPE IMediaSeeking_IsFormatSupported_Proxy( 
  4804.     IMediaSeeking * This,
  4805.     /* [in] */ const GUID *pFormat);
  4806.  
  4807.  
  4808. void __RPC_STUB IMediaSeeking_IsFormatSupported_Stub(
  4809.     IRpcStubBuffer *This,
  4810.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4811.     PRPC_MESSAGE _pRpcMessage,
  4812.     DWORD *_pdwStubPhase);
  4813.  
  4814.  
  4815. HRESULT STDMETHODCALLTYPE IMediaSeeking_QueryPreferredFormat_Proxy( 
  4816.     IMediaSeeking * This,
  4817.     /* [out] */ GUID *pFormat);
  4818.  
  4819.  
  4820. void __RPC_STUB IMediaSeeking_QueryPreferredFormat_Stub(
  4821.     IRpcStubBuffer *This,
  4822.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4823.     PRPC_MESSAGE _pRpcMessage,
  4824.     DWORD *_pdwStubPhase);
  4825.  
  4826.  
  4827. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetTimeFormat_Proxy( 
  4828.     IMediaSeeking * This,
  4829.     /* [out] */ GUID *pFormat);
  4830.  
  4831.  
  4832. void __RPC_STUB IMediaSeeking_GetTimeFormat_Stub(
  4833.     IRpcStubBuffer *This,
  4834.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4835.     PRPC_MESSAGE _pRpcMessage,
  4836.     DWORD *_pdwStubPhase);
  4837.  
  4838.  
  4839. HRESULT STDMETHODCALLTYPE IMediaSeeking_IsUsingTimeFormat_Proxy( 
  4840.     IMediaSeeking * This,
  4841.     /* [in] */ const GUID *pFormat);
  4842.  
  4843.  
  4844. void __RPC_STUB IMediaSeeking_IsUsingTimeFormat_Stub(
  4845.     IRpcStubBuffer *This,
  4846.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4847.     PRPC_MESSAGE _pRpcMessage,
  4848.     DWORD *_pdwStubPhase);
  4849.  
  4850.  
  4851. HRESULT STDMETHODCALLTYPE IMediaSeeking_SetTimeFormat_Proxy( 
  4852.     IMediaSeeking * This,
  4853.     /* [in] */ const GUID *pFormat);
  4854.  
  4855.  
  4856. void __RPC_STUB IMediaSeeking_SetTimeFormat_Stub(
  4857.     IRpcStubBuffer *This,
  4858.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4859.     PRPC_MESSAGE _pRpcMessage,
  4860.     DWORD *_pdwStubPhase);
  4861.  
  4862.  
  4863. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetDuration_Proxy( 
  4864.     IMediaSeeking * This,
  4865.     /* [out] */ LONGLONG *pDuration);
  4866.  
  4867.  
  4868. void __RPC_STUB IMediaSeeking_GetDuration_Stub(
  4869.     IRpcStubBuffer *This,
  4870.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4871.     PRPC_MESSAGE _pRpcMessage,
  4872.     DWORD *_pdwStubPhase);
  4873.  
  4874.  
  4875. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetStopPosition_Proxy( 
  4876.     IMediaSeeking * This,
  4877.     /* [out] */ LONGLONG *pStop);
  4878.  
  4879.  
  4880. void __RPC_STUB IMediaSeeking_GetStopPosition_Stub(
  4881.     IRpcStubBuffer *This,
  4882.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4883.     PRPC_MESSAGE _pRpcMessage,
  4884.     DWORD *_pdwStubPhase);
  4885.  
  4886.  
  4887. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCurrentPosition_Proxy( 
  4888.     IMediaSeeking * This,
  4889.     /* [out] */ LONGLONG *pCurrent);
  4890.  
  4891.  
  4892. void __RPC_STUB IMediaSeeking_GetCurrentPosition_Stub(
  4893.     IRpcStubBuffer *This,
  4894.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4895.     PRPC_MESSAGE _pRpcMessage,
  4896.     DWORD *_pdwStubPhase);
  4897.  
  4898.  
  4899. HRESULT STDMETHODCALLTYPE IMediaSeeking_ConvertTimeFormat_Proxy( 
  4900.     IMediaSeeking * This,
  4901.     /* [out] */ LONGLONG *pTarget,
  4902.     /* [in] */ const GUID *pTargetFormat,
  4903.     /* [in] */ LONGLONG Source,
  4904.     /* [in] */ const GUID *pSourceFormat);
  4905.  
  4906.  
  4907. void __RPC_STUB IMediaSeeking_ConvertTimeFormat_Stub(
  4908.     IRpcStubBuffer *This,
  4909.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4910.     PRPC_MESSAGE _pRpcMessage,
  4911.     DWORD *_pdwStubPhase);
  4912.  
  4913.  
  4914. HRESULT STDMETHODCALLTYPE IMediaSeeking_SetPositions_Proxy( 
  4915.     IMediaSeeking * This,
  4916.     /* [out][in] */ LONGLONG *pCurrent,
  4917.     /* [in] */ DWORD dwCurrentFlags,
  4918.     /* [out][in] */ LONGLONG *pStop,
  4919.     /* [in] */ DWORD dwStopFlags);
  4920.  
  4921.  
  4922. void __RPC_STUB IMediaSeeking_SetPositions_Stub(
  4923.     IRpcStubBuffer *This,
  4924.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4925.     PRPC_MESSAGE _pRpcMessage,
  4926.     DWORD *_pdwStubPhase);
  4927.  
  4928.  
  4929. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPositions_Proxy( 
  4930.     IMediaSeeking * This,
  4931.     /* [out] */ LONGLONG *pCurrent,
  4932.     /* [out] */ LONGLONG *pStop);
  4933.  
  4934.  
  4935. void __RPC_STUB IMediaSeeking_GetPositions_Stub(
  4936.     IRpcStubBuffer *This,
  4937.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4938.     PRPC_MESSAGE _pRpcMessage,
  4939.     DWORD *_pdwStubPhase);
  4940.  
  4941.  
  4942. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetAvailable_Proxy( 
  4943.     IMediaSeeking * This,
  4944.     /* [out] */ LONGLONG *pEarliest,
  4945.     /* [out] */ LONGLONG *pLatest);
  4946.  
  4947.  
  4948. void __RPC_STUB IMediaSeeking_GetAvailable_Stub(
  4949.     IRpcStubBuffer *This,
  4950.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4951.     PRPC_MESSAGE _pRpcMessage,
  4952.     DWORD *_pdwStubPhase);
  4953.  
  4954.  
  4955. HRESULT STDMETHODCALLTYPE IMediaSeeking_SetRate_Proxy( 
  4956.     IMediaSeeking * This,
  4957.     /* [in] */ double dRate);
  4958.  
  4959.  
  4960. void __RPC_STUB IMediaSeeking_SetRate_Stub(
  4961.     IRpcStubBuffer *This,
  4962.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4963.     PRPC_MESSAGE _pRpcMessage,
  4964.     DWORD *_pdwStubPhase);
  4965.  
  4966.  
  4967. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetRate_Proxy( 
  4968.     IMediaSeeking * This,
  4969.     /* [out] */ double *pdRate);
  4970.  
  4971.  
  4972. void __RPC_STUB IMediaSeeking_GetRate_Stub(
  4973.     IRpcStubBuffer *This,
  4974.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4975.     PRPC_MESSAGE _pRpcMessage,
  4976.     DWORD *_pdwStubPhase);
  4977.  
  4978.  
  4979. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPreroll_Proxy( 
  4980.     IMediaSeeking * This,
  4981.     /* [out] */ LONGLONG *pllPreroll);
  4982.  
  4983.  
  4984. void __RPC_STUB IMediaSeeking_GetPreroll_Stub(
  4985.     IRpcStubBuffer *This,
  4986.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4987.     PRPC_MESSAGE _pRpcMessage,
  4988.     DWORD *_pdwStubPhase);
  4989.  
  4990.  
  4991.  
  4992. #endif     /* __IMediaSeeking_INTERFACE_DEFINED__ */
  4993.  
  4994.  
  4995. /* interface __MIDL_itf_strmif_0130 */
  4996. /* [local] */ 
  4997.  
  4998. typedef IMediaSeeking *PMEDIASEEKING;
  4999.  
  5000. enum tagAM_MEDIAEVENT_FLAGS
  5001. {
  5002.     AM_MEDIAEVENT_NONOTIFY = 0x01
  5003. };
  5004.  
  5005.  
  5006.  
  5007.  
  5008.  
  5009.  
  5010.  
  5011.  
  5012.  
  5013.  
  5014.  
  5015.  
  5016.  
  5017.  
  5018.  
  5019.  
  5020.  
  5021.  
  5022.  
  5023.  
  5024.  
  5025.  
  5026.  
  5027.  
  5028.  
  5029.  
  5030.  
  5031.  
  5032.  
  5033.  
  5034.  
  5035.  
  5036.  
  5037.  
  5038.  
  5039.  
  5040.  
  5041.  
  5042.  
  5043.  
  5044.  
  5045.  
  5046.  
  5047.  
  5048.  
  5049.  
  5050.  
  5051.  
  5052.  
  5053.  
  5054.  
  5055.  
  5056.  
  5057.  
  5058.  
  5059.  
  5060.  
  5061. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0130_0001
  5062.     {
  5063.     CLSID Clsid;
  5064.     LPWSTR Name;
  5065.     }     REGFILTER;
  5066.  
  5067.  
  5068.  
  5069. extern RPC_IF_HANDLE __MIDL_itf_strmif_0130_v0_0_c_ifspec;
  5070. extern RPC_IF_HANDLE __MIDL_itf_strmif_0130_v0_0_s_ifspec;
  5071.  
  5072. #ifndef __IEnumRegFilters_INTERFACE_DEFINED__
  5073. #define __IEnumRegFilters_INTERFACE_DEFINED__
  5074.  
  5075. /* interface IEnumRegFilters */
  5076. /* [unique][uuid][object] */ 
  5077.  
  5078.  
  5079. EXTERN_C const IID IID_IEnumRegFilters;
  5080.  
  5081. #if defined(__cplusplus) && !defined(CINTERFACE)
  5082.     
  5083.     MIDL_INTERFACE("56a868a4-0ad4-11ce-b03a-0020af0ba770")
  5084.     IEnumRegFilters : public IUnknown
  5085.     {
  5086.     public:
  5087.         virtual HRESULT STDMETHODCALLTYPE Next( 
  5088.             /* [in] */ ULONG cFilters,
  5089.             /* [out] */ REGFILTER **apRegFilter,
  5090.             /* [out] */ ULONG *pcFetched) = 0;
  5091.         
  5092.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  5093.             /* [in] */ ULONG cFilters) = 0;
  5094.         
  5095.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  5096.         
  5097.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  5098.             /* [out] */ IEnumRegFilters **ppEnum) = 0;
  5099.         
  5100.     };
  5101.     
  5102. #else     /* C style interface */
  5103.  
  5104.     typedef struct IEnumRegFiltersVtbl
  5105.     {
  5106.         BEGIN_INTERFACE
  5107.         
  5108.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  5109.             IEnumRegFilters * This,
  5110.             /* [in] */ REFIID riid,
  5111.             /* [iid_is][out] */ void **ppvObject);
  5112.         
  5113.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  5114.             IEnumRegFilters * This);
  5115.         
  5116.         ULONG ( STDMETHODCALLTYPE *Release )( 
  5117.             IEnumRegFilters * This);
  5118.         
  5119.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  5120.             IEnumRegFilters * This,
  5121.             /* [in] */ ULONG cFilters,
  5122.             /* [out] */ REGFILTER **apRegFilter,
  5123.             /* [out] */ ULONG *pcFetched);
  5124.         
  5125.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  5126.             IEnumRegFilters * This,
  5127.             /* [in] */ ULONG cFilters);
  5128.         
  5129.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  5130.             IEnumRegFilters * This);
  5131.         
  5132.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  5133.             IEnumRegFilters * This,
  5134.             /* [out] */ IEnumRegFilters **ppEnum);
  5135.         
  5136.         END_INTERFACE
  5137.     } IEnumRegFiltersVtbl;
  5138.  
  5139.     interface IEnumRegFilters
  5140.     {
  5141.         CONST_VTBL struct IEnumRegFiltersVtbl *lpVtbl;
  5142.     };
  5143.  
  5144.     
  5145.  
  5146. #ifdef COBJMACROS
  5147.  
  5148.  
  5149. #define IEnumRegFilters_QueryInterface(This,riid,ppvObject)    \
  5150.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5151.  
  5152. #define IEnumRegFilters_AddRef(This)    \
  5153.     (This)->lpVtbl -> AddRef(This)
  5154.  
  5155. #define IEnumRegFilters_Release(This)    \
  5156.     (This)->lpVtbl -> Release(This)
  5157.  
  5158.  
  5159. #define IEnumRegFilters_Next(This,cFilters,apRegFilter,pcFetched)    \
  5160.     (This)->lpVtbl -> Next(This,cFilters,apRegFilter,pcFetched)
  5161.  
  5162. #define IEnumRegFilters_Skip(This,cFilters)    \
  5163.     (This)->lpVtbl -> Skip(This,cFilters)
  5164.  
  5165. #define IEnumRegFilters_Reset(This)    \
  5166.     (This)->lpVtbl -> Reset(This)
  5167.  
  5168. #define IEnumRegFilters_Clone(This,ppEnum)    \
  5169.     (This)->lpVtbl -> Clone(This,ppEnum)
  5170.  
  5171. #endif /* COBJMACROS */
  5172.  
  5173.  
  5174. #endif     /* C style interface */
  5175.  
  5176.  
  5177.  
  5178. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Next_Proxy( 
  5179.     IEnumRegFilters * This,
  5180.     /* [in] */ ULONG cFilters,
  5181.     /* [out] */ REGFILTER **apRegFilter,
  5182.     /* [out] */ ULONG *pcFetched);
  5183.  
  5184.  
  5185. void __RPC_STUB IEnumRegFilters_Next_Stub(
  5186.     IRpcStubBuffer *This,
  5187.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5188.     PRPC_MESSAGE _pRpcMessage,
  5189.     DWORD *_pdwStubPhase);
  5190.  
  5191.  
  5192. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Skip_Proxy( 
  5193.     IEnumRegFilters * This,
  5194.     /* [in] */ ULONG cFilters);
  5195.  
  5196.  
  5197. void __RPC_STUB IEnumRegFilters_Skip_Stub(
  5198.     IRpcStubBuffer *This,
  5199.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5200.     PRPC_MESSAGE _pRpcMessage,
  5201.     DWORD *_pdwStubPhase);
  5202.  
  5203.  
  5204. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Reset_Proxy( 
  5205.     IEnumRegFilters * This);
  5206.  
  5207.  
  5208. void __RPC_STUB IEnumRegFilters_Reset_Stub(
  5209.     IRpcStubBuffer *This,
  5210.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5211.     PRPC_MESSAGE _pRpcMessage,
  5212.     DWORD *_pdwStubPhase);
  5213.  
  5214.  
  5215. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Clone_Proxy( 
  5216.     IEnumRegFilters * This,
  5217.     /* [out] */ IEnumRegFilters **ppEnum);
  5218.  
  5219.  
  5220. void __RPC_STUB IEnumRegFilters_Clone_Stub(
  5221.     IRpcStubBuffer *This,
  5222.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5223.     PRPC_MESSAGE _pRpcMessage,
  5224.     DWORD *_pdwStubPhase);
  5225.  
  5226.  
  5227.  
  5228. #endif     /* __IEnumRegFilters_INTERFACE_DEFINED__ */
  5229.  
  5230.  
  5231. /* interface __MIDL_itf_strmif_0132 */
  5232. /* [local] */ 
  5233.  
  5234. typedef IEnumRegFilters *PENUMREGFILTERS;
  5235.  
  5236.  
  5237.  
  5238. extern RPC_IF_HANDLE __MIDL_itf_strmif_0132_v0_0_c_ifspec;
  5239. extern RPC_IF_HANDLE __MIDL_itf_strmif_0132_v0_0_s_ifspec;
  5240.  
  5241. #ifndef __IFilterMapper_INTERFACE_DEFINED__
  5242. #define __IFilterMapper_INTERFACE_DEFINED__
  5243.  
  5244. /* interface IFilterMapper */
  5245. /* [unique][uuid][object] */ 
  5246.  
  5247.  
  5248. enum __MIDL_IFilterMapper_0001
  5249.     {    MERIT_PREFERRED    = 0x800000,
  5250.     MERIT_NORMAL    = 0x600000,
  5251.     MERIT_UNLIKELY    = 0x400000,
  5252.     MERIT_DO_NOT_USE    = 0x200000,
  5253.     MERIT_SW_COMPRESSOR    = 0x100000,
  5254.     MERIT_HW_COMPRESSOR    = 0x100050
  5255.     } ;
  5256.  
  5257. EXTERN_C const IID IID_IFilterMapper;
  5258.  
  5259. #if defined(__cplusplus) && !defined(CINTERFACE)
  5260.     
  5261.     MIDL_INTERFACE("56a868a3-0ad4-11ce-b03a-0020af0ba770")
  5262.     IFilterMapper : public IUnknown
  5263.     {
  5264.     public:
  5265.         virtual HRESULT STDMETHODCALLTYPE RegisterFilter( 
  5266.             /* [in] */ CLSID clsid,
  5267.             /* [in] */ LPCWSTR Name,
  5268.             /* [in] */ DWORD dwMerit) = 0;
  5269.         
  5270.         virtual HRESULT STDMETHODCALLTYPE RegisterFilterInstance( 
  5271.             /* [in] */ CLSID clsid,
  5272.             /* [in] */ LPCWSTR Name,
  5273.             /* [out] */ CLSID *MRId) = 0;
  5274.         
  5275.         virtual HRESULT STDMETHODCALLTYPE RegisterPin( 
  5276.             /* [in] */ CLSID Filter,
  5277.             /* [in] */ LPCWSTR Name,
  5278.             /* [in] */ BOOL bRendered,
  5279.             /* [in] */ BOOL bOutput,
  5280.             /* [in] */ BOOL bZero,
  5281.             /* [in] */ BOOL bMany,
  5282.             /* [in] */ CLSID ConnectsToFilter,
  5283.             /* [in] */ LPCWSTR ConnectsToPin) = 0;
  5284.         
  5285.         virtual HRESULT STDMETHODCALLTYPE RegisterPinType( 
  5286.             /* [in] */ CLSID clsFilter,
  5287.             /* [in] */ LPCWSTR strName,
  5288.             /* [in] */ CLSID clsMajorType,
  5289.             /* [in] */ CLSID clsSubType) = 0;
  5290.         
  5291.         virtual HRESULT STDMETHODCALLTYPE UnregisterFilter( 
  5292.             /* [in] */ CLSID Filter) = 0;
  5293.         
  5294.         virtual HRESULT STDMETHODCALLTYPE UnregisterFilterInstance( 
  5295.             /* [in] */ CLSID MRId) = 0;
  5296.         
  5297.         virtual HRESULT STDMETHODCALLTYPE UnregisterPin( 
  5298.             /* [in] */ CLSID Filter,
  5299.             /* [in] */ LPCWSTR Name) = 0;
  5300.         
  5301.         virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters( 
  5302.             /* [out] */ IEnumRegFilters **ppEnum,
  5303.             /* [in] */ DWORD dwMerit,
  5304.             /* [in] */ BOOL bInputNeeded,
  5305.             /* [in] */ CLSID clsInMaj,
  5306.             /* [in] */ CLSID clsInSub,
  5307.             /* [in] */ BOOL bRender,
  5308.             /* [in] */ BOOL bOututNeeded,
  5309.             /* [in] */ CLSID clsOutMaj,
  5310.             /* [in] */ CLSID clsOutSub) = 0;
  5311.         
  5312.     };
  5313.     
  5314. #else     /* C style interface */
  5315.  
  5316.     typedef struct IFilterMapperVtbl
  5317.     {
  5318.         BEGIN_INTERFACE
  5319.         
  5320.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  5321.             IFilterMapper * This,
  5322.             /* [in] */ REFIID riid,
  5323.             /* [iid_is][out] */ void **ppvObject);
  5324.         
  5325.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  5326.             IFilterMapper * This);
  5327.         
  5328.         ULONG ( STDMETHODCALLTYPE *Release )( 
  5329.             IFilterMapper * This);
  5330.         
  5331.         HRESULT ( STDMETHODCALLTYPE *RegisterFilter )( 
  5332.             IFilterMapper * This,
  5333.             /* [in] */ CLSID clsid,
  5334.             /* [in] */ LPCWSTR Name,
  5335.             /* [in] */ DWORD dwMerit);
  5336.         
  5337.         HRESULT ( STDMETHODCALLTYPE *RegisterFilterInstance )( 
  5338.             IFilterMapper * This,
  5339.             /* [in] */ CLSID clsid,
  5340.             /* [in] */ LPCWSTR Name,
  5341.             /* [out] */ CLSID *MRId);
  5342.         
  5343.         HRESULT ( STDMETHODCALLTYPE *RegisterPin )( 
  5344.             IFilterMapper * This,
  5345.             /* [in] */ CLSID Filter,
  5346.             /* [in] */ LPCWSTR Name,
  5347.             /* [in] */ BOOL bRendered,
  5348.             /* [in] */ BOOL bOutput,
  5349.             /* [in] */ BOOL bZero,
  5350.             /* [in] */ BOOL bMany,
  5351.             /* [in] */ CLSID ConnectsToFilter,
  5352.             /* [in] */ LPCWSTR ConnectsToPin);
  5353.         
  5354.         HRESULT ( STDMETHODCALLTYPE *RegisterPinType )( 
  5355.             IFilterMapper * This,
  5356.             /* [in] */ CLSID clsFilter,
  5357.             /* [in] */ LPCWSTR strName,
  5358.             /* [in] */ CLSID clsMajorType,
  5359.             /* [in] */ CLSID clsSubType);
  5360.         
  5361.         HRESULT ( STDMETHODCALLTYPE *UnregisterFilter )( 
  5362.             IFilterMapper * This,
  5363.             /* [in] */ CLSID Filter);
  5364.         
  5365.         HRESULT ( STDMETHODCALLTYPE *UnregisterFilterInstance )( 
  5366.             IFilterMapper * This,
  5367.             /* [in] */ CLSID MRId);
  5368.         
  5369.         HRESULT ( STDMETHODCALLTYPE *UnregisterPin )( 
  5370.             IFilterMapper * This,
  5371.             /* [in] */ CLSID Filter,
  5372.             /* [in] */ LPCWSTR Name);
  5373.         
  5374.         HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )( 
  5375.             IFilterMapper * This,
  5376.             /* [out] */ IEnumRegFilters **ppEnum,
  5377.             /* [in] */ DWORD dwMerit,
  5378.             /* [in] */ BOOL bInputNeeded,
  5379.             /* [in] */ CLSID clsInMaj,
  5380.             /* [in] */ CLSID clsInSub,
  5381.             /* [in] */ BOOL bRender,
  5382.             /* [in] */ BOOL bOututNeeded,
  5383.             /* [in] */ CLSID clsOutMaj,
  5384.             /* [in] */ CLSID clsOutSub);
  5385.         
  5386.         END_INTERFACE
  5387.     } IFilterMapperVtbl;
  5388.  
  5389.     interface IFilterMapper
  5390.     {
  5391.         CONST_VTBL struct IFilterMapperVtbl *lpVtbl;
  5392.     };
  5393.  
  5394.     
  5395.  
  5396. #ifdef COBJMACROS
  5397.  
  5398.  
  5399. #define IFilterMapper_QueryInterface(This,riid,ppvObject)    \
  5400.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5401.  
  5402. #define IFilterMapper_AddRef(This)    \
  5403.     (This)->lpVtbl -> AddRef(This)
  5404.  
  5405. #define IFilterMapper_Release(This)    \
  5406.     (This)->lpVtbl -> Release(This)
  5407.  
  5408.  
  5409. #define IFilterMapper_RegisterFilter(This,clsid,Name,dwMerit)    \
  5410.     (This)->lpVtbl -> RegisterFilter(This,clsid,Name,dwMerit)
  5411.  
  5412. #define IFilterMapper_RegisterFilterInstance(This,clsid,Name,MRId)    \
  5413.     (This)->lpVtbl -> RegisterFilterInstance(This,clsid,Name,MRId)
  5414.  
  5415. #define IFilterMapper_RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin)    \
  5416.     (This)->lpVtbl -> RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin)
  5417.  
  5418. #define IFilterMapper_RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType)    \
  5419.     (This)->lpVtbl -> RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType)
  5420.  
  5421. #define IFilterMapper_UnregisterFilter(This,Filter)    \
  5422.     (This)->lpVtbl -> UnregisterFilter(This,Filter)
  5423.  
  5424. #define IFilterMapper_UnregisterFilterInstance(This,MRId)    \
  5425.     (This)->lpVtbl -> UnregisterFilterInstance(This,MRId)
  5426.  
  5427. #define IFilterMapper_UnregisterPin(This,Filter,Name)    \
  5428.     (This)->lpVtbl -> UnregisterPin(This,Filter,Name)
  5429.  
  5430. #define IFilterMapper_EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub)    \
  5431.     (This)->lpVtbl -> EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub)
  5432.  
  5433. #endif /* COBJMACROS */
  5434.  
  5435.  
  5436. #endif     /* C style interface */
  5437.  
  5438.  
  5439.  
  5440. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilter_Proxy( 
  5441.     IFilterMapper * This,
  5442.     /* [in] */ CLSID clsid,
  5443.     /* [in] */ LPCWSTR Name,
  5444.     /* [in] */ DWORD dwMerit);
  5445.  
  5446.  
  5447. void __RPC_STUB IFilterMapper_RegisterFilter_Stub(
  5448.     IRpcStubBuffer *This,
  5449.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5450.     PRPC_MESSAGE _pRpcMessage,
  5451.     DWORD *_pdwStubPhase);
  5452.  
  5453.  
  5454. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilterInstance_Proxy( 
  5455.     IFilterMapper * This,
  5456.     /* [in] */ CLSID clsid,
  5457.     /* [in] */ LPCWSTR Name,
  5458.     /* [out] */ CLSID *MRId);
  5459.  
  5460.  
  5461. void __RPC_STUB IFilterMapper_RegisterFilterInstance_Stub(
  5462.     IRpcStubBuffer *This,
  5463.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5464.     PRPC_MESSAGE _pRpcMessage,
  5465.     DWORD *_pdwStubPhase);
  5466.  
  5467.  
  5468. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPin_Proxy( 
  5469.     IFilterMapper * This,
  5470.     /* [in] */ CLSID Filter,
  5471.     /* [in] */ LPCWSTR Name,
  5472.     /* [in] */ BOOL bRendered,
  5473.     /* [in] */ BOOL bOutput,
  5474.     /* [in] */ BOOL bZero,
  5475.     /* [in] */ BOOL bMany,
  5476.     /* [in] */ CLSID ConnectsToFilter,
  5477.     /* [in] */ LPCWSTR ConnectsToPin);
  5478.  
  5479.  
  5480. void __RPC_STUB IFilterMapper_RegisterPin_Stub(
  5481.     IRpcStubBuffer *This,
  5482.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5483.     PRPC_MESSAGE _pRpcMessage,
  5484.     DWORD *_pdwStubPhase);
  5485.  
  5486.  
  5487. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPinType_Proxy( 
  5488.     IFilterMapper * This,
  5489.     /* [in] */ CLSID clsFilter,
  5490.     /* [in] */ LPCWSTR strName,
  5491.     /* [in] */ CLSID clsMajorType,
  5492.     /* [in] */ CLSID clsSubType);
  5493.  
  5494.  
  5495. void __RPC_STUB IFilterMapper_RegisterPinType_Stub(
  5496.     IRpcStubBuffer *This,
  5497.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5498.     PRPC_MESSAGE _pRpcMessage,
  5499.     DWORD *_pdwStubPhase);
  5500.  
  5501.  
  5502. HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilter_Proxy( 
  5503.     IFilterMapper * This,
  5504.     /* [in] */ CLSID Filter);
  5505.  
  5506.  
  5507. void __RPC_STUB IFilterMapper_UnregisterFilter_Stub(
  5508.     IRpcStubBuffer *This,
  5509.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5510.     PRPC_MESSAGE _pRpcMessage,
  5511.     DWORD *_pdwStubPhase);
  5512.  
  5513.  
  5514. HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilterInstance_Proxy( 
  5515.     IFilterMapper * This,
  5516.     /* [in] */ CLSID MRId);
  5517.  
  5518.  
  5519. void __RPC_STUB IFilterMapper_UnregisterFilterInstance_Stub(
  5520.     IRpcStubBuffer *This,
  5521.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5522.     PRPC_MESSAGE _pRpcMessage,
  5523.     DWORD *_pdwStubPhase);
  5524.  
  5525.  
  5526. HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterPin_Proxy( 
  5527.     IFilterMapper * This,
  5528.     /* [in] */ CLSID Filter,
  5529.     /* [in] */ LPCWSTR Name);
  5530.  
  5531.  
  5532. void __RPC_STUB IFilterMapper_UnregisterPin_Stub(
  5533.     IRpcStubBuffer *This,
  5534.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5535.     PRPC_MESSAGE _pRpcMessage,
  5536.     DWORD *_pdwStubPhase);
  5537.  
  5538.  
  5539. HRESULT STDMETHODCALLTYPE IFilterMapper_EnumMatchingFilters_Proxy( 
  5540.     IFilterMapper * This,
  5541.     /* [out] */ IEnumRegFilters **ppEnum,
  5542.     /* [in] */ DWORD dwMerit,
  5543.     /* [in] */ BOOL bInputNeeded,
  5544.     /* [in] */ CLSID clsInMaj,
  5545.     /* [in] */ CLSID clsInSub,
  5546.     /* [in] */ BOOL bRender,
  5547.     /* [in] */ BOOL bOututNeeded,
  5548.     /* [in] */ CLSID clsOutMaj,
  5549.     /* [in] */ CLSID clsOutSub);
  5550.  
  5551.  
  5552. void __RPC_STUB IFilterMapper_EnumMatchingFilters_Stub(
  5553.     IRpcStubBuffer *This,
  5554.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5555.     PRPC_MESSAGE _pRpcMessage,
  5556.     DWORD *_pdwStubPhase);
  5557.  
  5558.  
  5559.  
  5560. #endif     /* __IFilterMapper_INTERFACE_DEFINED__ */
  5561.  
  5562.  
  5563. /* interface __MIDL_itf_strmif_0134 */
  5564. /* [local] */ 
  5565.  
  5566. typedef /* [public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0134_0001
  5567.     {
  5568.     const CLSID *clsMajorType;
  5569.     const CLSID *clsMinorType;
  5570.     }     REGPINTYPES;
  5571.  
  5572. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0134_0002
  5573.     {
  5574.     LPWSTR strName;
  5575.     BOOL bRendered;
  5576.     BOOL bOutput;
  5577.     BOOL bZero;
  5578.     BOOL bMany;
  5579.     const CLSID *clsConnectsToFilter;
  5580.     const WCHAR *strConnectsToPin;
  5581.     UINT nMediaTypes;
  5582.     const REGPINTYPES *lpMediaType;
  5583.     }     REGFILTERPINS;
  5584.  
  5585. typedef /* [public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0134_0003
  5586.     {
  5587.     CLSID clsMedium;
  5588.     DWORD dw1;
  5589.     DWORD dw2;
  5590.     }     REGPINMEDIUM;
  5591.  
  5592.  
  5593. enum __MIDL___MIDL_itf_strmif_0134_0004
  5594.     {    REG_PINFLAG_B_ZERO    = 0x1,
  5595.     REG_PINFLAG_B_RENDERER    = 0x2,
  5596.     REG_PINFLAG_B_MANY    = 0x4,
  5597.     REG_PINFLAG_B_OUTPUT    = 0x8
  5598.     } ;
  5599. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0134_0005
  5600.     {
  5601.     DWORD dwFlags;
  5602.     UINT cInstances;
  5603.     UINT nMediaTypes;
  5604.     /* [size_is] */ const REGPINTYPES *lpMediaType;
  5605.     UINT nMediums;
  5606.     /* [size_is] */ const REGPINMEDIUM *lpMedium;
  5607.     const CLSID *clsPinCategory;
  5608.     }     REGFILTERPINS2;
  5609.  
  5610. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0134_0006
  5611.     {
  5612.     DWORD dwVersion;
  5613.     DWORD dwMerit;
  5614.     /* [switch_type][switch_is] */ union 
  5615.         {
  5616.         /* [case()] */ struct 
  5617.             {
  5618.             ULONG cPins;
  5619.             /* [size_is] */ const REGFILTERPINS *rgPins;
  5620.             }     ;
  5621.         /* [case()] */ struct 
  5622.             {
  5623.             ULONG cPins2;
  5624.             /* [size_is] */ const REGFILTERPINS2 *rgPins2;
  5625.             }     ;
  5626.         /* [default] */  /* Empty union arm */ 
  5627.         }     ;
  5628.     }     REGFILTER2;
  5629.  
  5630.  
  5631.  
  5632. extern RPC_IF_HANDLE __MIDL_itf_strmif_0134_v0_0_c_ifspec;
  5633. extern RPC_IF_HANDLE __MIDL_itf_strmif_0134_v0_0_s_ifspec;
  5634.  
  5635. #ifndef __IFilterMapper2_INTERFACE_DEFINED__
  5636. #define __IFilterMapper2_INTERFACE_DEFINED__
  5637.  
  5638. /* interface IFilterMapper2 */
  5639. /* [unique][uuid][object] */ 
  5640.  
  5641.  
  5642. EXTERN_C const IID IID_IFilterMapper2;
  5643.  
  5644. #if defined(__cplusplus) && !defined(CINTERFACE)
  5645.     
  5646.     MIDL_INTERFACE("b79bb0b0-33c1-11d1-abe1-00a0c905f375")
  5647.     IFilterMapper2 : public IUnknown
  5648.     {
  5649.     public:
  5650.         virtual HRESULT STDMETHODCALLTYPE CreateCategory( 
  5651.             /* [in] */ REFCLSID clsidCategory,
  5652.             /* [in] */ DWORD dwCategoryMerit,
  5653.             /* [in] */ LPCWSTR Description) = 0;
  5654.         
  5655.         virtual HRESULT STDMETHODCALLTYPE UnregisterFilter( 
  5656.             /* [in] */ const CLSID *pclsidCategory,
  5657.             /* [in] */ const OLECHAR *szInstance,
  5658.             /* [in] */ REFCLSID Filter) = 0;
  5659.         
  5660.         virtual HRESULT STDMETHODCALLTYPE RegisterFilter( 
  5661.             /* [in] */ REFCLSID clsidFilter,
  5662.             /* [in] */ LPCWSTR Name,
  5663.             /* [out][in] */ IMoniker **ppMoniker,
  5664.             /* [in] */ const CLSID *pclsidCategory,
  5665.             /* [in] */ const OLECHAR *szInstance,
  5666.             /* [in] */ const REGFILTER2 *prf2) = 0;
  5667.         
  5668.         virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters( 
  5669.             /* [out] */ IEnumMoniker **ppEnum,
  5670.             /* [in] */ DWORD dwFlags,
  5671.             /* [in] */ BOOL bExactMatch,
  5672.             /* [in] */ DWORD dwMerit,
  5673.             /* [in] */ BOOL bInputNeeded,
  5674.             /* [in] */ DWORD cInputTypes,
  5675.             /* [size_is] */ const GUID *pInputTypes,
  5676.             /* [in] */ const REGPINMEDIUM *pMedIn,
  5677.             /* [in] */ const CLSID *pPinCategoryIn,
  5678.             /* [in] */ BOOL bRender,
  5679.             /* [in] */ BOOL bOutputNeeded,
  5680.             /* [in] */ DWORD cOutputTypes,
  5681.             /* [size_is] */ const GUID *pOutputTypes,
  5682.             /* [in] */ const REGPINMEDIUM *pMedOut,
  5683.             /* [in] */ const CLSID *pPinCategoryOut) = 0;
  5684.         
  5685.     };
  5686.     
  5687. #else     /* C style interface */
  5688.  
  5689.     typedef struct IFilterMapper2Vtbl
  5690.     {
  5691.         BEGIN_INTERFACE
  5692.         
  5693.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  5694.             IFilterMapper2 * This,
  5695.             /* [in] */ REFIID riid,
  5696.             /* [iid_is][out] */ void **ppvObject);
  5697.         
  5698.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  5699.             IFilterMapper2 * This);
  5700.         
  5701.         ULONG ( STDMETHODCALLTYPE *Release )( 
  5702.             IFilterMapper2 * This);
  5703.         
  5704.         HRESULT ( STDMETHODCALLTYPE *CreateCategory )( 
  5705.             IFilterMapper2 * This,
  5706.             /* [in] */ REFCLSID clsidCategory,
  5707.             /* [in] */ DWORD dwCategoryMerit,
  5708.             /* [in] */ LPCWSTR Description);
  5709.         
  5710.         HRESULT ( STDMETHODCALLTYPE *UnregisterFilter )( 
  5711.             IFilterMapper2 * This,
  5712.             /* [in] */ const CLSID *pclsidCategory,
  5713.             /* [in] */ const OLECHAR *szInstance,
  5714.             /* [in] */ REFCLSID Filter);
  5715.         
  5716.         HRESULT ( STDMETHODCALLTYPE *RegisterFilter )( 
  5717.             IFilterMapper2 * This,
  5718.             /* [in] */ REFCLSID clsidFilter,
  5719.             /* [in] */ LPCWSTR Name,
  5720.             /* [out][in] */ IMoniker **ppMoniker,
  5721.             /* [in] */ const CLSID *pclsidCategory,
  5722.             /* [in] */ const OLECHAR *szInstance,
  5723.             /* [in] */ const REGFILTER2 *prf2);
  5724.         
  5725.         HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )( 
  5726.             IFilterMapper2 * This,
  5727.             /* [out] */ IEnumMoniker **ppEnum,
  5728.             /* [in] */ DWORD dwFlags,
  5729.             /* [in] */ BOOL bExactMatch,
  5730.             /* [in] */ DWORD dwMerit,
  5731.             /* [in] */ BOOL bInputNeeded,
  5732.             /* [in] */ DWORD cInputTypes,
  5733.             /* [size_is] */ const GUID *pInputTypes,
  5734.             /* [in] */ const REGPINMEDIUM *pMedIn,
  5735.             /* [in] */ const CLSID *pPinCategoryIn,
  5736.             /* [in] */ BOOL bRender,
  5737.             /* [in] */ BOOL bOutputNeeded,
  5738.             /* [in] */ DWORD cOutputTypes,
  5739.             /* [size_is] */ const GUID *pOutputTypes,
  5740.             /* [in] */ const REGPINMEDIUM *pMedOut,
  5741.             /* [in] */ const CLSID *pPinCategoryOut);
  5742.         
  5743.         END_INTERFACE
  5744.     } IFilterMapper2Vtbl;
  5745.  
  5746.     interface IFilterMapper2
  5747.     {
  5748.         CONST_VTBL struct IFilterMapper2Vtbl *lpVtbl;
  5749.     };
  5750.  
  5751.     
  5752.  
  5753. #ifdef COBJMACROS
  5754.  
  5755.  
  5756. #define IFilterMapper2_QueryInterface(This,riid,ppvObject)    \
  5757.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5758.  
  5759. #define IFilterMapper2_AddRef(This)    \
  5760.     (This)->lpVtbl -> AddRef(This)
  5761.  
  5762. #define IFilterMapper2_Release(This)    \
  5763.     (This)->lpVtbl -> Release(This)
  5764.  
  5765.  
  5766. #define IFilterMapper2_CreateCategory(This,clsidCategory,dwCategoryMerit,Description)    \
  5767.     (This)->lpVtbl -> CreateCategory(This,clsidCategory,dwCategoryMerit,Description)
  5768.  
  5769. #define IFilterMapper2_UnregisterFilter(This,pclsidCategory,szInstance,Filter)    \
  5770.     (This)->lpVtbl -> UnregisterFilter(This,pclsidCategory,szInstance,Filter)
  5771.  
  5772. #define IFilterMapper2_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)    \
  5773.     (This)->lpVtbl -> RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)
  5774.  
  5775. #define IFilterMapper2_EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)    \
  5776.     (This)->lpVtbl -> EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)
  5777.  
  5778. #endif /* COBJMACROS */
  5779.  
  5780.  
  5781. #endif     /* C style interface */
  5782.  
  5783.  
  5784.  
  5785. HRESULT STDMETHODCALLTYPE IFilterMapper2_CreateCategory_Proxy( 
  5786.     IFilterMapper2 * This,
  5787.     /* [in] */ REFCLSID clsidCategory,
  5788.     /* [in] */ DWORD dwCategoryMerit,
  5789.     /* [in] */ LPCWSTR Description);
  5790.  
  5791.  
  5792. void __RPC_STUB IFilterMapper2_CreateCategory_Stub(
  5793.     IRpcStubBuffer *This,
  5794.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5795.     PRPC_MESSAGE _pRpcMessage,
  5796.     DWORD *_pdwStubPhase);
  5797.  
  5798.  
  5799. HRESULT STDMETHODCALLTYPE IFilterMapper2_UnregisterFilter_Proxy( 
  5800.     IFilterMapper2 * This,
  5801.     /* [in] */ const CLSID *pclsidCategory,
  5802.     /* [in] */ const OLECHAR *szInstance,
  5803.     /* [in] */ REFCLSID Filter);
  5804.  
  5805.  
  5806. void __RPC_STUB IFilterMapper2_UnregisterFilter_Stub(
  5807.     IRpcStubBuffer *This,
  5808.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5809.     PRPC_MESSAGE _pRpcMessage,
  5810.     DWORD *_pdwStubPhase);
  5811.  
  5812.  
  5813. HRESULT STDMETHODCALLTYPE IFilterMapper2_RegisterFilter_Proxy( 
  5814.     IFilterMapper2 * This,
  5815.     /* [in] */ REFCLSID clsidFilter,
  5816.     /* [in] */ LPCWSTR Name,
  5817.     /* [out][in] */ IMoniker **ppMoniker,
  5818.     /* [in] */ const CLSID *pclsidCategory,
  5819.     /* [in] */ const OLECHAR *szInstance,
  5820.     /* [in] */ const REGFILTER2 *prf2);
  5821.  
  5822.  
  5823. void __RPC_STUB IFilterMapper2_RegisterFilter_Stub(
  5824.     IRpcStubBuffer *This,
  5825.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5826.     PRPC_MESSAGE _pRpcMessage,
  5827.     DWORD *_pdwStubPhase);
  5828.  
  5829.  
  5830. HRESULT STDMETHODCALLTYPE IFilterMapper2_EnumMatchingFilters_Proxy( 
  5831.     IFilterMapper2 * This,
  5832.     /* [out] */ IEnumMoniker **ppEnum,
  5833.     /* [in] */ DWORD dwFlags,
  5834.     /* [in] */ BOOL bExactMatch,
  5835.     /* [in] */ DWORD dwMerit,
  5836.     /* [in] */ BOOL bInputNeeded,
  5837.     /* [in] */ DWORD cInputTypes,
  5838.     /* [size_is] */ const GUID *pInputTypes,
  5839.     /* [in] */ const REGPINMEDIUM *pMedIn,
  5840.     /* [in] */ const CLSID *pPinCategoryIn,
  5841.     /* [in] */ BOOL bRender,
  5842.     /* [in] */ BOOL bOutputNeeded,
  5843.     /* [in] */ DWORD cOutputTypes,
  5844.     /* [size_is] */ const GUID *pOutputTypes,
  5845.     /* [in] */ const REGPINMEDIUM *pMedOut,
  5846.     /* [in] */ const CLSID *pPinCategoryOut);
  5847.  
  5848.  
  5849. void __RPC_STUB IFilterMapper2_EnumMatchingFilters_Stub(
  5850.     IRpcStubBuffer *This,
  5851.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5852.     PRPC_MESSAGE _pRpcMessage,
  5853.     DWORD *_pdwStubPhase);
  5854.  
  5855.  
  5856.  
  5857. #endif     /* __IFilterMapper2_INTERFACE_DEFINED__ */
  5858.  
  5859.  
  5860. #ifndef __IFilterMapper3_INTERFACE_DEFINED__
  5861. #define __IFilterMapper3_INTERFACE_DEFINED__
  5862.  
  5863. /* interface IFilterMapper3 */
  5864. /* [unique][uuid][object] */ 
  5865.  
  5866.  
  5867. EXTERN_C const IID IID_IFilterMapper3;
  5868.  
  5869. #if defined(__cplusplus) && !defined(CINTERFACE)
  5870.     
  5871.     MIDL_INTERFACE("b79bb0b1-33c1-11d1-abe1-00a0c905f375")
  5872.     IFilterMapper3 : public IFilterMapper2
  5873.     {
  5874.     public:
  5875.         virtual HRESULT STDMETHODCALLTYPE GetICreateDevEnum( 
  5876.             /* [out] */ ICreateDevEnum **ppEnum) = 0;
  5877.         
  5878.     };
  5879.     
  5880. #else     /* C style interface */
  5881.  
  5882.     typedef struct IFilterMapper3Vtbl
  5883.     {
  5884.         BEGIN_INTERFACE
  5885.         
  5886.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  5887.             IFilterMapper3 * This,
  5888.             /* [in] */ REFIID riid,
  5889.             /* [iid_is][out] */ void **ppvObject);
  5890.         
  5891.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  5892.             IFilterMapper3 * This);
  5893.         
  5894.         ULONG ( STDMETHODCALLTYPE *Release )( 
  5895.             IFilterMapper3 * This);
  5896.         
  5897.         HRESULT ( STDMETHODCALLTYPE *CreateCategory )( 
  5898.             IFilterMapper3 * This,
  5899.             /* [in] */ REFCLSID clsidCategory,
  5900.             /* [in] */ DWORD dwCategoryMerit,
  5901.             /* [in] */ LPCWSTR Description);
  5902.         
  5903.         HRESULT ( STDMETHODCALLTYPE *UnregisterFilter )( 
  5904.             IFilterMapper3 * This,
  5905.             /* [in] */ const CLSID *pclsidCategory,
  5906.             /* [in] */ const OLECHAR *szInstance,
  5907.             /* [in] */ REFCLSID Filter);
  5908.         
  5909.         HRESULT ( STDMETHODCALLTYPE *RegisterFilter )( 
  5910.             IFilterMapper3 * This,
  5911.             /* [in] */ REFCLSID clsidFilter,
  5912.             /* [in] */ LPCWSTR Name,
  5913.             /* [out][in] */ IMoniker **ppMoniker,
  5914.             /* [in] */ const CLSID *pclsidCategory,
  5915.             /* [in] */ const OLECHAR *szInstance,
  5916.             /* [in] */ const REGFILTER2 *prf2);
  5917.         
  5918.         HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )( 
  5919.             IFilterMapper3 * This,
  5920.             /* [out] */ IEnumMoniker **ppEnum,
  5921.             /* [in] */ DWORD dwFlags,
  5922.             /* [in] */ BOOL bExactMatch,
  5923.             /* [in] */ DWORD dwMerit,
  5924.             /* [in] */ BOOL bInputNeeded,
  5925.             /* [in] */ DWORD cInputTypes,
  5926.             /* [size_is] */ const GUID *pInputTypes,
  5927.             /* [in] */ const REGPINMEDIUM *pMedIn,
  5928.             /* [in] */ const CLSID *pPinCategoryIn,
  5929.             /* [in] */ BOOL bRender,
  5930.             /* [in] */ BOOL bOutputNeeded,
  5931.             /* [in] */ DWORD cOutputTypes,
  5932.             /* [size_is] */ const GUID *pOutputTypes,
  5933.             /* [in] */ const REGPINMEDIUM *pMedOut,
  5934.             /* [in] */ const CLSID *pPinCategoryOut);
  5935.         
  5936.         HRESULT ( STDMETHODCALLTYPE *GetICreateDevEnum )( 
  5937.             IFilterMapper3 * This,
  5938.             /* [out] */ ICreateDevEnum **ppEnum);
  5939.         
  5940.         END_INTERFACE
  5941.     } IFilterMapper3Vtbl;
  5942.  
  5943.     interface IFilterMapper3
  5944.     {
  5945.         CONST_VTBL struct IFilterMapper3Vtbl *lpVtbl;
  5946.     };
  5947.  
  5948.     
  5949.  
  5950. #ifdef COBJMACROS
  5951.  
  5952.  
  5953. #define IFilterMapper3_QueryInterface(This,riid,ppvObject)    \
  5954.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5955.  
  5956. #define IFilterMapper3_AddRef(This)    \
  5957.     (This)->lpVtbl -> AddRef(This)
  5958.  
  5959. #define IFilterMapper3_Release(This)    \
  5960.     (This)->lpVtbl -> Release(This)
  5961.  
  5962.  
  5963. #define IFilterMapper3_CreateCategory(This,clsidCategory,dwCategoryMerit,Description)    \
  5964.     (This)->lpVtbl -> CreateCategory(This,clsidCategory,dwCategoryMerit,Description)
  5965.  
  5966. #define IFilterMapper3_UnregisterFilter(This,pclsidCategory,szInstance,Filter)    \
  5967.     (This)->lpVtbl -> UnregisterFilter(This,pclsidCategory,szInstance,Filter)
  5968.  
  5969. #define IFilterMapper3_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)    \
  5970.     (This)->lpVtbl -> RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)
  5971.  
  5972. #define IFilterMapper3_EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)    \
  5973.     (This)->lpVtbl -> EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)
  5974.  
  5975.  
  5976. #define IFilterMapper3_GetICreateDevEnum(This,ppEnum)    \
  5977.     (This)->lpVtbl -> GetICreateDevEnum(This,ppEnum)
  5978.  
  5979. #endif /* COBJMACROS */
  5980.  
  5981.  
  5982. #endif     /* C style interface */
  5983.  
  5984.  
  5985.  
  5986. HRESULT STDMETHODCALLTYPE IFilterMapper3_GetICreateDevEnum_Proxy( 
  5987.     IFilterMapper3 * This,
  5988.     /* [out] */ ICreateDevEnum **ppEnum);
  5989.  
  5990.  
  5991. void __RPC_STUB IFilterMapper3_GetICreateDevEnum_Stub(
  5992.     IRpcStubBuffer *This,
  5993.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5994.     PRPC_MESSAGE _pRpcMessage,
  5995.     DWORD *_pdwStubPhase);
  5996.  
  5997.  
  5998.  
  5999. #endif     /* __IFilterMapper3_INTERFACE_DEFINED__ */
  6000.  
  6001.  
  6002. /* interface __MIDL_itf_strmif_0137 */
  6003. /* [local] */ 
  6004.  
  6005. typedef 
  6006. enum tagQualityMessageType
  6007.     {    Famine    = 0,
  6008.     Flood    = Famine + 1
  6009.     }     QualityMessageType;
  6010.  
  6011. typedef struct tagQuality
  6012.     {
  6013.     QualityMessageType Type;
  6014.     long Proportion;
  6015.     REFERENCE_TIME Late;
  6016.     REFERENCE_TIME TimeStamp;
  6017.     }     Quality;
  6018.  
  6019. typedef IQualityControl *PQUALITYCONTROL;
  6020.  
  6021.  
  6022.  
  6023. extern RPC_IF_HANDLE __MIDL_itf_strmif_0137_v0_0_c_ifspec;
  6024. extern RPC_IF_HANDLE __MIDL_itf_strmif_0137_v0_0_s_ifspec;
  6025.  
  6026. #ifndef __IQualityControl_INTERFACE_DEFINED__
  6027. #define __IQualityControl_INTERFACE_DEFINED__
  6028.  
  6029. /* interface IQualityControl */
  6030. /* [unique][uuid][object] */ 
  6031.  
  6032.  
  6033. EXTERN_C const IID IID_IQualityControl;
  6034.  
  6035. #if defined(__cplusplus) && !defined(CINTERFACE)
  6036.     
  6037.     MIDL_INTERFACE("56a868a5-0ad4-11ce-b03a-0020af0ba770")
  6038.     IQualityControl : public IUnknown
  6039.     {
  6040.     public:
  6041.         virtual HRESULT STDMETHODCALLTYPE Notify( 
  6042.             /* [in] */ IBaseFilter *pSelf,
  6043.             /* [in] */ Quality q) = 0;
  6044.         
  6045.         virtual HRESULT STDMETHODCALLTYPE SetSink( 
  6046.             /* [in] */ IQualityControl *piqc) = 0;
  6047.         
  6048.     };
  6049.     
  6050. #else     /* C style interface */
  6051.  
  6052.     typedef struct IQualityControlVtbl
  6053.     {
  6054.         BEGIN_INTERFACE
  6055.         
  6056.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  6057.             IQualityControl * This,
  6058.             /* [in] */ REFIID riid,
  6059.             /* [iid_is][out] */ void **ppvObject);
  6060.         
  6061.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  6062.             IQualityControl * This);
  6063.         
  6064.         ULONG ( STDMETHODCALLTYPE *Release )( 
  6065.             IQualityControl * This);
  6066.         
  6067.         HRESULT ( STDMETHODCALLTYPE *Notify )( 
  6068.             IQualityControl * This,
  6069.             /* [in] */ IBaseFilter *pSelf,
  6070.             /* [in] */ Quality q);
  6071.         
  6072.         HRESULT ( STDMETHODCALLTYPE *SetSink )( 
  6073.             IQualityControl * This,
  6074.             /* [in] */ IQualityControl *piqc);
  6075.         
  6076.         END_INTERFACE
  6077.     } IQualityControlVtbl;
  6078.  
  6079.     interface IQualityControl
  6080.     {
  6081.         CONST_VTBL struct IQualityControlVtbl *lpVtbl;
  6082.     };
  6083.  
  6084.     
  6085.  
  6086. #ifdef COBJMACROS
  6087.  
  6088.  
  6089. #define IQualityControl_QueryInterface(This,riid,ppvObject)    \
  6090.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6091.  
  6092. #define IQualityControl_AddRef(This)    \
  6093.     (This)->lpVtbl -> AddRef(This)
  6094.  
  6095. #define IQualityControl_Release(This)    \
  6096.     (This)->lpVtbl -> Release(This)
  6097.  
  6098.  
  6099. #define IQualityControl_Notify(This,pSelf,q)    \
  6100.     (This)->lpVtbl -> Notify(This,pSelf,q)
  6101.  
  6102. #define IQualityControl_SetSink(This,piqc)    \
  6103.     (This)->lpVtbl -> SetSink(This,piqc)
  6104.  
  6105. #endif /* COBJMACROS */
  6106.  
  6107.  
  6108. #endif     /* C style interface */
  6109.  
  6110.  
  6111.  
  6112. HRESULT STDMETHODCALLTYPE IQualityControl_Notify_Proxy( 
  6113.     IQualityControl * This,
  6114.     /* [in] */ IBaseFilter *pSelf,
  6115.     /* [in] */ Quality q);
  6116.  
  6117.  
  6118. void __RPC_STUB IQualityControl_Notify_Stub(
  6119.     IRpcStubBuffer *This,
  6120.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6121.     PRPC_MESSAGE _pRpcMessage,
  6122.     DWORD *_pdwStubPhase);
  6123.  
  6124.  
  6125. HRESULT STDMETHODCALLTYPE IQualityControl_SetSink_Proxy( 
  6126.     IQualityControl * This,
  6127.     /* [in] */ IQualityControl *piqc);
  6128.  
  6129.  
  6130. void __RPC_STUB IQualityControl_SetSink_Stub(
  6131.     IRpcStubBuffer *This,
  6132.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6133.     PRPC_MESSAGE _pRpcMessage,
  6134.     DWORD *_pdwStubPhase);
  6135.  
  6136.  
  6137.  
  6138. #endif     /* __IQualityControl_INTERFACE_DEFINED__ */
  6139.  
  6140.  
  6141. /* interface __MIDL_itf_strmif_0138 */
  6142. /* [local] */ 
  6143.  
  6144.  
  6145. enum __MIDL___MIDL_itf_strmif_0138_0001
  6146.     {    CK_NOCOLORKEY    = 0,
  6147.     CK_INDEX    = 0x1,
  6148.     CK_RGB    = 0x2
  6149.     } ;
  6150. typedef struct tagCOLORKEY
  6151.     {
  6152.     DWORD KeyType;
  6153.     DWORD PaletteIndex;
  6154.     COLORREF LowColorValue;
  6155.     COLORREF HighColorValue;
  6156.     }     COLORKEY;
  6157.  
  6158.  
  6159. enum __MIDL___MIDL_itf_strmif_0138_0002
  6160.     {    ADVISE_NONE    = 0,
  6161.     ADVISE_CLIPPING    = 0x1,
  6162.     ADVISE_PALETTE    = 0x2,
  6163.     ADVISE_COLORKEY    = 0x4,
  6164.     ADVISE_POSITION    = 0x8,
  6165.     ADVISE_DISPLAY_CHANGE    = 0x10
  6166.     } ;
  6167. #define    ADVISE_ALL    ( ADVISE_CLIPPING | ADVISE_PALETTE | ADVISE_COLORKEY | ADVISE_POSITION )
  6168.  
  6169. #define    ADVISE_ALL2    ( ADVISE_ALL | ADVISE_DISPLAY_CHANGE )
  6170.  
  6171. #ifndef _WINGDI_
  6172. typedef struct _RGNDATAHEADER
  6173.     {
  6174.     DWORD dwSize;
  6175.     DWORD iType;
  6176.     DWORD nCount;
  6177.     DWORD nRgnSize;
  6178.     RECT rcBound;
  6179.     }     RGNDATAHEADER;
  6180.  
  6181. typedef struct _RGNDATA
  6182.     {
  6183.     RGNDATAHEADER rdh;
  6184.     char Buffer[ 1 ];
  6185.     }     RGNDATA;
  6186.  
  6187. #endif
  6188.  
  6189.  
  6190. extern RPC_IF_HANDLE __MIDL_itf_strmif_0138_v0_0_c_ifspec;
  6191. extern RPC_IF_HANDLE __MIDL_itf_strmif_0138_v0_0_s_ifspec;
  6192.  
  6193. #ifndef __IOverlayNotify_INTERFACE_DEFINED__
  6194. #define __IOverlayNotify_INTERFACE_DEFINED__
  6195.  
  6196. /* interface IOverlayNotify */
  6197. /* [unique][uuid][local][object] */ 
  6198.  
  6199.  
  6200. EXTERN_C const IID IID_IOverlayNotify;
  6201.  
  6202. #if defined(__cplusplus) && !defined(CINTERFACE)
  6203.     
  6204.     MIDL_INTERFACE("56a868a0-0ad4-11ce-b03a-0020af0ba770")
  6205.     IOverlayNotify : public IUnknown
  6206.     {
  6207.     public:
  6208.         virtual HRESULT STDMETHODCALLTYPE OnPaletteChange( 
  6209.             /* [in] */ DWORD dwColors,
  6210.             /* [in] */ const PALETTEENTRY *pPalette) = 0;
  6211.         
  6212.         virtual HRESULT STDMETHODCALLTYPE OnClipChange( 
  6213.             /* [in] */ const RECT *pSourceRect,
  6214.             /* [in] */ const RECT *pDestinationRect,
  6215.             /* [in] */ const RGNDATA *pRgnData) = 0;
  6216.         
  6217.         virtual HRESULT STDMETHODCALLTYPE OnColorKeyChange( 
  6218.             /* [in] */ const COLORKEY *pColorKey) = 0;
  6219.         
  6220.         virtual HRESULT STDMETHODCALLTYPE OnPositionChange( 
  6221.             /* [in] */ const RECT *pSourceRect,
  6222.             /* [in] */ const RECT *pDestinationRect) = 0;
  6223.         
  6224.     };
  6225.     
  6226. #else     /* C style interface */
  6227.  
  6228.     typedef struct IOverlayNotifyVtbl
  6229.     {
  6230.         BEGIN_INTERFACE
  6231.         
  6232.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  6233.             IOverlayNotify * This,
  6234.             /* [in] */ REFIID riid,
  6235.             /* [iid_is][out] */ void **ppvObject);
  6236.         
  6237.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  6238.             IOverlayNotify * This);
  6239.         
  6240.         ULONG ( STDMETHODCALLTYPE *Release )( 
  6241.             IOverlayNotify * This);
  6242.         
  6243.         HRESULT ( STDMETHODCALLTYPE *OnPaletteChange )( 
  6244.             IOverlayNotify * This,
  6245.             /* [in] */ DWORD dwColors,
  6246.             /* [in] */ const PALETTEENTRY *pPalette);
  6247.         
  6248.         HRESULT ( STDMETHODCALLTYPE *OnClipChange )( 
  6249.             IOverlayNotify * This,
  6250.             /* [in] */ const RECT *pSourceRect,
  6251.             /* [in] */ const RECT *pDestinationRect,
  6252.             /* [in] */ const RGNDATA *pRgnData);
  6253.         
  6254.         HRESULT ( STDMETHODCALLTYPE *OnColorKeyChange )( 
  6255.             IOverlayNotify * This,
  6256.             /* [in] */ const COLORKEY *pColorKey);
  6257.         
  6258.         HRESULT ( STDMETHODCALLTYPE *OnPositionChange )( 
  6259.             IOverlayNotify * This,
  6260.             /* [in] */ const RECT *pSourceRect,
  6261.             /* [in] */ const RECT *pDestinationRect);
  6262.         
  6263.         END_INTERFACE
  6264.     } IOverlayNotifyVtbl;
  6265.  
  6266.     interface IOverlayNotify
  6267.     {
  6268.         CONST_VTBL struct IOverlayNotifyVtbl *lpVtbl;
  6269.     };
  6270.  
  6271.     
  6272.  
  6273. #ifdef COBJMACROS
  6274.  
  6275.  
  6276. #define IOverlayNotify_QueryInterface(This,riid,ppvObject)    \
  6277.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6278.  
  6279. #define IOverlayNotify_AddRef(This)    \
  6280.     (This)->lpVtbl -> AddRef(This)
  6281.  
  6282. #define IOverlayNotify_Release(This)    \
  6283.     (This)->lpVtbl -> Release(This)
  6284.  
  6285.  
  6286. #define IOverlayNotify_OnPaletteChange(This,dwColors,pPalette)    \
  6287.     (This)->lpVtbl -> OnPaletteChange(This,dwColors,pPalette)
  6288.  
  6289. #define IOverlayNotify_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)    \
  6290.     (This)->lpVtbl -> OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)
  6291.  
  6292. #define IOverlayNotify_OnColorKeyChange(This,pColorKey)    \
  6293.     (This)->lpVtbl -> OnColorKeyChange(This,pColorKey)
  6294.  
  6295. #define IOverlayNotify_OnPositionChange(This,pSourceRect,pDestinationRect)    \
  6296.     (This)->lpVtbl -> OnPositionChange(This,pSourceRect,pDestinationRect)
  6297.  
  6298. #endif /* COBJMACROS */
  6299.  
  6300.  
  6301. #endif     /* C style interface */
  6302.  
  6303.  
  6304.  
  6305. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPaletteChange_Proxy( 
  6306.     IOverlayNotify * This,
  6307.     /* [in] */ DWORD dwColors,
  6308.     /* [in] */ const PALETTEENTRY *pPalette);
  6309.  
  6310.  
  6311. void __RPC_STUB IOverlayNotify_OnPaletteChange_Stub(
  6312.     IRpcStubBuffer *This,
  6313.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6314.     PRPC_MESSAGE _pRpcMessage,
  6315.     DWORD *_pdwStubPhase);
  6316.  
  6317.  
  6318. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnClipChange_Proxy( 
  6319.     IOverlayNotify * This,
  6320.     /* [in] */ const RECT *pSourceRect,
  6321.     /* [in] */ const RECT *pDestinationRect,
  6322.     /* [in] */ const RGNDATA *pRgnData);
  6323.  
  6324.  
  6325. void __RPC_STUB IOverlayNotify_OnClipChange_Stub(
  6326.     IRpcStubBuffer *This,
  6327.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6328.     PRPC_MESSAGE _pRpcMessage,
  6329.     DWORD *_pdwStubPhase);
  6330.  
  6331.  
  6332. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnColorKeyChange_Proxy( 
  6333.     IOverlayNotify * This,
  6334.     /* [in] */ const COLORKEY *pColorKey);
  6335.  
  6336.  
  6337. void __RPC_STUB IOverlayNotify_OnColorKeyChange_Stub(
  6338.     IRpcStubBuffer *This,
  6339.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6340.     PRPC_MESSAGE _pRpcMessage,
  6341.     DWORD *_pdwStubPhase);
  6342.  
  6343.  
  6344. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPositionChange_Proxy( 
  6345.     IOverlayNotify * This,
  6346.     /* [in] */ const RECT *pSourceRect,
  6347.     /* [in] */ const RECT *pDestinationRect);
  6348.  
  6349.  
  6350. void __RPC_STUB IOverlayNotify_OnPositionChange_Stub(
  6351.     IRpcStubBuffer *This,
  6352.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6353.     PRPC_MESSAGE _pRpcMessage,
  6354.     DWORD *_pdwStubPhase);
  6355.  
  6356.  
  6357.  
  6358. #endif     /* __IOverlayNotify_INTERFACE_DEFINED__ */
  6359.  
  6360.  
  6361. /* interface __MIDL_itf_strmif_0139 */
  6362. /* [local] */ 
  6363.  
  6364. typedef IOverlayNotify *POVERLAYNOTIFY;
  6365.  
  6366. #if !defined(HMONITOR_DECLARED) && !defined(HMONITOR) && (WINVER < 0x0500)
  6367. #define HMONITOR_DECLARED
  6368. #if 0
  6369. typedef HANDLE HMONITOR;
  6370.  
  6371. #endif
  6372. DECLARE_HANDLE(HMONITOR);
  6373. #endif
  6374.  
  6375.  
  6376. extern RPC_IF_HANDLE __MIDL_itf_strmif_0139_v0_0_c_ifspec;
  6377. extern RPC_IF_HANDLE __MIDL_itf_strmif_0139_v0_0_s_ifspec;
  6378.  
  6379. #ifndef __IOverlayNotify2_INTERFACE_DEFINED__
  6380. #define __IOverlayNotify2_INTERFACE_DEFINED__
  6381.  
  6382. /* interface IOverlayNotify2 */
  6383. /* [unique][uuid][local][object] */ 
  6384.  
  6385.  
  6386. EXTERN_C const IID IID_IOverlayNotify2;
  6387.  
  6388. #if defined(__cplusplus) && !defined(CINTERFACE)
  6389.     
  6390.     MIDL_INTERFACE("680EFA10-D535-11D1-87C8-00A0C9223196")
  6391.     IOverlayNotify2 : public IOverlayNotify
  6392.     {
  6393.     public:
  6394.         virtual HRESULT STDMETHODCALLTYPE OnDisplayChange( 
  6395.             HMONITOR hMonitor) = 0;
  6396.         
  6397.     };
  6398.     
  6399. #else     /* C style interface */
  6400.  
  6401.     typedef struct IOverlayNotify2Vtbl
  6402.     {
  6403.         BEGIN_INTERFACE
  6404.         
  6405.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  6406.             IOverlayNotify2 * This,
  6407.             /* [in] */ REFIID riid,
  6408.             /* [iid_is][out] */ void **ppvObject);
  6409.         
  6410.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  6411.             IOverlayNotify2 * This);
  6412.         
  6413.         ULONG ( STDMETHODCALLTYPE *Release )( 
  6414.             IOverlayNotify2 * This);
  6415.         
  6416.         HRESULT ( STDMETHODCALLTYPE *OnPaletteChange )( 
  6417.             IOverlayNotify2 * This,
  6418.             /* [in] */ DWORD dwColors,
  6419.             /* [in] */ const PALETTEENTRY *pPalette);
  6420.         
  6421.         HRESULT ( STDMETHODCALLTYPE *OnClipChange )( 
  6422.             IOverlayNotify2 * This,
  6423.             /* [in] */ const RECT *pSourceRect,
  6424.             /* [in] */ const RECT *pDestinationRect,
  6425.             /* [in] */ const RGNDATA *pRgnData);
  6426.         
  6427.         HRESULT ( STDMETHODCALLTYPE *OnColorKeyChange )( 
  6428.             IOverlayNotify2 * This,
  6429.             /* [in] */ const COLORKEY *pColorKey);
  6430.         
  6431.         HRESULT ( STDMETHODCALLTYPE *OnPositionChange )( 
  6432.             IOverlayNotify2 * This,
  6433.             /* [in] */ const RECT *pSourceRect,
  6434.             /* [in] */ const RECT *pDestinationRect);
  6435.         
  6436.         HRESULT ( STDMETHODCALLTYPE *OnDisplayChange )( 
  6437.             IOverlayNotify2 * This,
  6438.             HMONITOR hMonitor);
  6439.         
  6440.         END_INTERFACE
  6441.     } IOverlayNotify2Vtbl;
  6442.  
  6443.     interface IOverlayNotify2
  6444.     {
  6445.         CONST_VTBL struct IOverlayNotify2Vtbl *lpVtbl;
  6446.     };
  6447.  
  6448.     
  6449.  
  6450. #ifdef COBJMACROS
  6451.  
  6452.  
  6453. #define IOverlayNotify2_QueryInterface(This,riid,ppvObject)    \
  6454.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6455.  
  6456. #define IOverlayNotify2_AddRef(This)    \
  6457.     (This)->lpVtbl -> AddRef(This)
  6458.  
  6459. #define IOverlayNotify2_Release(This)    \
  6460.     (This)->lpVtbl -> Release(This)
  6461.  
  6462.  
  6463. #define IOverlayNotify2_OnPaletteChange(This,dwColors,pPalette)    \
  6464.     (This)->lpVtbl -> OnPaletteChange(This,dwColors,pPalette)
  6465.  
  6466. #define IOverlayNotify2_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)    \
  6467.     (This)->lpVtbl -> OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)
  6468.  
  6469. #define IOverlayNotify2_OnColorKeyChange(This,pColorKey)    \
  6470.     (This)->lpVtbl -> OnColorKeyChange(This,pColorKey)
  6471.  
  6472. #define IOverlayNotify2_OnPositionChange(This,pSourceRect,pDestinationRect)    \
  6473.     (This)->lpVtbl -> OnPositionChange(This,pSourceRect,pDestinationRect)
  6474.  
  6475.  
  6476. #define IOverlayNotify2_OnDisplayChange(This,hMonitor)    \
  6477.     (This)->lpVtbl -> OnDisplayChange(This,hMonitor)
  6478.  
  6479. #endif /* COBJMACROS */
  6480.  
  6481.  
  6482. #endif     /* C style interface */
  6483.  
  6484.  
  6485.  
  6486. HRESULT STDMETHODCALLTYPE IOverlayNotify2_OnDisplayChange_Proxy( 
  6487.     IOverlayNotify2 * This,
  6488.     HMONITOR hMonitor);
  6489.  
  6490.  
  6491. void __RPC_STUB IOverlayNotify2_OnDisplayChange_Stub(
  6492.     IRpcStubBuffer *This,
  6493.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6494.     PRPC_MESSAGE _pRpcMessage,
  6495.     DWORD *_pdwStubPhase);
  6496.  
  6497.  
  6498.  
  6499. #endif     /* __IOverlayNotify2_INTERFACE_DEFINED__ */
  6500.  
  6501.  
  6502. /* interface __MIDL_itf_strmif_0140 */
  6503. /* [local] */ 
  6504.  
  6505. typedef IOverlayNotify2 *POVERLAYNOTIFY2;
  6506.  
  6507.  
  6508.  
  6509. extern RPC_IF_HANDLE __MIDL_itf_strmif_0140_v0_0_c_ifspec;
  6510. extern RPC_IF_HANDLE __MIDL_itf_strmif_0140_v0_0_s_ifspec;
  6511.  
  6512. #ifndef __IOverlay_INTERFACE_DEFINED__
  6513. #define __IOverlay_INTERFACE_DEFINED__
  6514.  
  6515. /* interface IOverlay */
  6516. /* [unique][uuid][local][object] */ 
  6517.  
  6518.  
  6519. EXTERN_C const IID IID_IOverlay;
  6520.  
  6521. #if defined(__cplusplus) && !defined(CINTERFACE)
  6522.     
  6523.     MIDL_INTERFACE("56a868a1-0ad4-11ce-b03a-0020af0ba770")
  6524.     IOverlay : public IUnknown
  6525.     {
  6526.     public:
  6527.         virtual HRESULT STDMETHODCALLTYPE GetPalette( 
  6528.             /* [out] */ DWORD *pdwColors,
  6529.             /* [out] */ PALETTEENTRY **ppPalette) = 0;
  6530.         
  6531.         virtual HRESULT STDMETHODCALLTYPE SetPalette( 
  6532.             /* [in] */ DWORD dwColors,
  6533.             /* [in] */ PALETTEENTRY *pPalette) = 0;
  6534.         
  6535.         virtual HRESULT STDMETHODCALLTYPE GetDefaultColorKey( 
  6536.             /* [out] */ COLORKEY *pColorKey) = 0;
  6537.         
  6538.         virtual HRESULT STDMETHODCALLTYPE GetColorKey( 
  6539.             /* [out] */ COLORKEY *pColorKey) = 0;
  6540.         
  6541.         virtual HRESULT STDMETHODCALLTYPE SetColorKey( 
  6542.             /* [out][in] */ COLORKEY *pColorKey) = 0;
  6543.         
  6544.         virtual HRESULT STDMETHODCALLTYPE GetWindowHandle( 
  6545.             /* [out] */ HWND *pHwnd) = 0;
  6546.         
  6547.         virtual HRESULT STDMETHODCALLTYPE GetClipList( 
  6548.             /* [out] */ RECT *pSourceRect,
  6549.             /* [out] */ RECT *pDestinationRect,
  6550.             /* [out] */ RGNDATA **ppRgnData) = 0;
  6551.         
  6552.         virtual HRESULT STDMETHODCALLTYPE GetVideoPosition( 
  6553.             /* [out] */ RECT *pSourceRect,
  6554.             /* [out] */ RECT *pDestinationRect) = 0;
  6555.         
  6556.         virtual HRESULT STDMETHODCALLTYPE Advise( 
  6557.             /* [in] */ IOverlayNotify *pOverlayNotify,
  6558.             /* [in] */ DWORD dwInterests) = 0;
  6559.         
  6560.         virtual HRESULT STDMETHODCALLTYPE Unadvise( void) = 0;
  6561.         
  6562.     };
  6563.     
  6564. #else     /* C style interface */
  6565.  
  6566.     typedef struct IOverlayVtbl
  6567.     {
  6568.         BEGIN_INTERFACE
  6569.         
  6570.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  6571.             IOverlay * This,
  6572.             /* [in] */ REFIID riid,
  6573.             /* [iid_is][out] */ void **ppvObject);
  6574.         
  6575.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  6576.             IOverlay * This);
  6577.         
  6578.         ULONG ( STDMETHODCALLTYPE *Release )( 
  6579.             IOverlay * This);
  6580.         
  6581.         HRESULT ( STDMETHODCALLTYPE *GetPalette )( 
  6582.             IOverlay * This,
  6583.             /* [out] */ DWORD *pdwColors,
  6584.             /* [out] */ PALETTEENTRY **ppPalette);
  6585.         
  6586.         HRESULT ( STDMETHODCALLTYPE *SetPalette )( 
  6587.             IOverlay * This,
  6588.             /* [in] */ DWORD dwColors,
  6589.             /* [in] */ PALETTEENTRY *pPalette);
  6590.         
  6591.         HRESULT ( STDMETHODCALLTYPE *GetDefaultColorKey )( 
  6592.             IOverlay * This,
  6593.             /* [out] */ COLORKEY *pColorKey);
  6594.         
  6595.         HRESULT ( STDMETHODCALLTYPE *GetColorKey )( 
  6596.             IOverlay * This,
  6597.             /* [out] */ COLORKEY *pColorKey);
  6598.         
  6599.         HRESULT ( STDMETHODCALLTYPE *SetColorKey )( 
  6600.             IOverlay * This,
  6601.             /* [out][in] */ COLORKEY *pColorKey);
  6602.         
  6603.         HRESULT ( STDMETHODCALLTYPE *GetWindowHandle )( 
  6604.             IOverlay * This,
  6605.             /* [out] */ HWND *pHwnd);
  6606.         
  6607.         HRESULT ( STDMETHODCALLTYPE *GetClipList )( 
  6608.             IOverlay * This,
  6609.             /* [out] */ RECT *pSourceRect,
  6610.             /* [out] */ RECT *pDestinationRect,
  6611.             /* [out] */ RGNDATA **ppRgnData);
  6612.         
  6613.         HRESULT ( STDMETHODCALLTYPE *GetVideoPosition )( 
  6614.             IOverlay * This,
  6615.             /* [out] */ RECT *pSourceRect,
  6616.             /* [out] */ RECT *pDestinationRect);
  6617.         
  6618.         HRESULT ( STDMETHODCALLTYPE *Advise )( 
  6619.             IOverlay * This,
  6620.             /* [in] */ IOverlayNotify *pOverlayNotify,
  6621.             /* [in] */ DWORD dwInterests);
  6622.         
  6623.         HRESULT ( STDMETHODCALLTYPE *Unadvise )( 
  6624.             IOverlay * This);
  6625.         
  6626.         END_INTERFACE
  6627.     } IOverlayVtbl;
  6628.  
  6629.     interface IOverlay
  6630.     {
  6631.         CONST_VTBL struct IOverlayVtbl *lpVtbl;
  6632.     };
  6633.  
  6634.     
  6635.  
  6636. #ifdef COBJMACROS
  6637.  
  6638.  
  6639. #define IOverlay_QueryInterface(This,riid,ppvObject)    \
  6640.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6641.  
  6642. #define IOverlay_AddRef(This)    \
  6643.     (This)->lpVtbl -> AddRef(This)
  6644.  
  6645. #define IOverlay_Release(This)    \
  6646.     (This)->lpVtbl -> Release(This)
  6647.  
  6648.  
  6649. #define IOverlay_GetPalette(This,pdwColors,ppPalette)    \
  6650.     (This)->lpVtbl -> GetPalette(This,pdwColors,ppPalette)
  6651.  
  6652. #define IOverlay_SetPalette(This,dwColors,pPalette)    \
  6653.     (This)->lpVtbl -> SetPalette(This,dwColors,pPalette)
  6654.  
  6655. #define IOverlay_GetDefaultColorKey(This,pColorKey)    \
  6656.     (This)->lpVtbl -> GetDefaultColorKey(This,pColorKey)
  6657.  
  6658. #define IOverlay_GetColorKey(This,pColorKey)    \
  6659.     (This)->lpVtbl -> GetColorKey(This,pColorKey)
  6660.  
  6661. #define IOverlay_SetColorKey(This,pColorKey)    \
  6662.     (This)->lpVtbl -> SetColorKey(This,pColorKey)
  6663.  
  6664. #define IOverlay_GetWindowHandle(This,pHwnd)    \
  6665.     (This)->lpVtbl -> GetWindowHandle(This,pHwnd)
  6666.  
  6667. #define IOverlay_GetClipList(This,pSourceRect,pDestinationRect,ppRgnData)    \
  6668.     (This)->lpVtbl -> GetClipList(This,pSourceRect,pDestinationRect,ppRgnData)
  6669.  
  6670. #define IOverlay_GetVideoPosition(This,pSourceRect,pDestinationRect)    \
  6671.     (This)->lpVtbl -> GetVideoPosition(This,pSourceRect,pDestinationRect)
  6672.  
  6673. #define IOverlay_Advise(This,pOverlayNotify,dwInterests)    \
  6674.     (This)->lpVtbl -> Advise(This,pOverlayNotify,dwInterests)
  6675.  
  6676. #define IOverlay_Unadvise(This)    \
  6677.     (This)->lpVtbl -> Unadvise(This)
  6678.  
  6679. #endif /* COBJMACROS */
  6680.  
  6681.  
  6682. #endif     /* C style interface */
  6683.  
  6684.  
  6685.  
  6686. HRESULT STDMETHODCALLTYPE IOverlay_GetPalette_Proxy( 
  6687.     IOverlay * This,
  6688.     /* [out] */ DWORD *pdwColors,
  6689.     /* [out] */ PALETTEENTRY **ppPalette);
  6690.  
  6691.  
  6692. void __RPC_STUB IOverlay_GetPalette_Stub(
  6693.     IRpcStubBuffer *This,
  6694.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6695.     PRPC_MESSAGE _pRpcMessage,
  6696.     DWORD *_pdwStubPhase);
  6697.  
  6698.  
  6699. HRESULT STDMETHODCALLTYPE IOverlay_SetPalette_Proxy( 
  6700.     IOverlay * This,
  6701.     /* [in] */ DWORD dwColors,
  6702.     /* [in] */ PALETTEENTRY *pPalette);
  6703.  
  6704.  
  6705. void __RPC_STUB IOverlay_SetPalette_Stub(
  6706.     IRpcStubBuffer *This,
  6707.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6708.     PRPC_MESSAGE _pRpcMessage,
  6709.     DWORD *_pdwStubPhase);
  6710.  
  6711.  
  6712. HRESULT STDMETHODCALLTYPE IOverlay_GetDefaultColorKey_Proxy( 
  6713.     IOverlay * This,
  6714.     /* [out] */ COLORKEY *pColorKey);
  6715.  
  6716.  
  6717. void __RPC_STUB IOverlay_GetDefaultColorKey_Stub(
  6718.     IRpcStubBuffer *This,
  6719.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6720.     PRPC_MESSAGE _pRpcMessage,
  6721.     DWORD *_pdwStubPhase);
  6722.  
  6723.  
  6724. HRESULT STDMETHODCALLTYPE IOverlay_GetColorKey_Proxy( 
  6725.     IOverlay * This,
  6726.     /* [out] */ COLORKEY *pColorKey);
  6727.  
  6728.  
  6729. void __RPC_STUB IOverlay_GetColorKey_Stub(
  6730.     IRpcStubBuffer *This,
  6731.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6732.     PRPC_MESSAGE _pRpcMessage,
  6733.     DWORD *_pdwStubPhase);
  6734.  
  6735.  
  6736. HRESULT STDMETHODCALLTYPE IOverlay_SetColorKey_Proxy( 
  6737.     IOverlay * This,
  6738.     /* [out][in] */ COLORKEY *pColorKey);
  6739.  
  6740.  
  6741. void __RPC_STUB IOverlay_SetColorKey_Stub(
  6742.     IRpcStubBuffer *This,
  6743.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6744.     PRPC_MESSAGE _pRpcMessage,
  6745.     DWORD *_pdwStubPhase);
  6746.  
  6747.  
  6748. HRESULT STDMETHODCALLTYPE IOverlay_GetWindowHandle_Proxy( 
  6749.     IOverlay * This,
  6750.     /* [out] */ HWND *pHwnd);
  6751.  
  6752.  
  6753. void __RPC_STUB IOverlay_GetWindowHandle_Stub(
  6754.     IRpcStubBuffer *This,
  6755.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6756.     PRPC_MESSAGE _pRpcMessage,
  6757.     DWORD *_pdwStubPhase);
  6758.  
  6759.  
  6760. HRESULT STDMETHODCALLTYPE IOverlay_GetClipList_Proxy( 
  6761.     IOverlay * This,
  6762.     /* [out] */ RECT *pSourceRect,
  6763.     /* [out] */ RECT *pDestinationRect,
  6764.     /* [out] */ RGNDATA **ppRgnData);
  6765.  
  6766.  
  6767. void __RPC_STUB IOverlay_GetClipList_Stub(
  6768.     IRpcStubBuffer *This,
  6769.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6770.     PRPC_MESSAGE _pRpcMessage,
  6771.     DWORD *_pdwStubPhase);
  6772.  
  6773.  
  6774. HRESULT STDMETHODCALLTYPE IOverlay_GetVideoPosition_Proxy( 
  6775.     IOverlay * This,
  6776.     /* [out] */ RECT *pSourceRect,
  6777.     /* [out] */ RECT *pDestinationRect);
  6778.  
  6779.  
  6780. void __RPC_STUB IOverlay_GetVideoPosition_Stub(
  6781.     IRpcStubBuffer *This,
  6782.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6783.     PRPC_MESSAGE _pRpcMessage,
  6784.     DWORD *_pdwStubPhase);
  6785.  
  6786.  
  6787. HRESULT STDMETHODCALLTYPE IOverlay_Advise_Proxy( 
  6788.     IOverlay * This,
  6789.     /* [in] */ IOverlayNotify *pOverlayNotify,
  6790.     /* [in] */ DWORD dwInterests);
  6791.  
  6792.  
  6793. void __RPC_STUB IOverlay_Advise_Stub(
  6794.     IRpcStubBuffer *This,
  6795.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6796.     PRPC_MESSAGE _pRpcMessage,
  6797.     DWORD *_pdwStubPhase);
  6798.  
  6799.  
  6800. HRESULT STDMETHODCALLTYPE IOverlay_Unadvise_Proxy( 
  6801.     IOverlay * This);
  6802.  
  6803.  
  6804. void __RPC_STUB IOverlay_Unadvise_Stub(
  6805.     IRpcStubBuffer *This,
  6806.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6807.     PRPC_MESSAGE _pRpcMessage,
  6808.     DWORD *_pdwStubPhase);
  6809.  
  6810.  
  6811.  
  6812. #endif     /* __IOverlay_INTERFACE_DEFINED__ */
  6813.  
  6814.  
  6815. /* interface __MIDL_itf_strmif_0141 */
  6816. /* [local] */ 
  6817.  
  6818. typedef IOverlay *POVERLAY;
  6819.  
  6820.  
  6821.  
  6822. extern RPC_IF_HANDLE __MIDL_itf_strmif_0141_v0_0_c_ifspec;
  6823. extern RPC_IF_HANDLE __MIDL_itf_strmif_0141_v0_0_s_ifspec;
  6824.  
  6825. #ifndef __IMediaEventSink_INTERFACE_DEFINED__
  6826. #define __IMediaEventSink_INTERFACE_DEFINED__
  6827.  
  6828. /* interface IMediaEventSink */
  6829. /* [unique][uuid][object] */ 
  6830.  
  6831.  
  6832. EXTERN_C const IID IID_IMediaEventSink;
  6833.  
  6834. #if defined(__cplusplus) && !defined(CINTERFACE)
  6835.     
  6836.     MIDL_INTERFACE("56a868a2-0ad4-11ce-b03a-0020af0ba770")
  6837.     IMediaEventSink : public IUnknown
  6838.     {
  6839.     public:
  6840.         virtual HRESULT STDMETHODCALLTYPE Notify( 
  6841.             /* [in] */ long EventCode,
  6842.             /* [in] */ LONG_PTR EventParam1,
  6843.             /* [in] */ LONG_PTR EventParam2) = 0;
  6844.         
  6845.     };
  6846.     
  6847. #else     /* C style interface */
  6848.  
  6849.     typedef struct IMediaEventSinkVtbl
  6850.     {
  6851.         BEGIN_INTERFACE
  6852.         
  6853.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  6854.             IMediaEventSink * This,
  6855.             /* [in] */ REFIID riid,
  6856.             /* [iid_is][out] */ void **ppvObject);
  6857.         
  6858.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  6859.             IMediaEventSink * This);
  6860.         
  6861.         ULONG ( STDMETHODCALLTYPE *Release )( 
  6862.             IMediaEventSink * This);
  6863.         
  6864.         HRESULT ( STDMETHODCALLTYPE *Notify )( 
  6865.             IMediaEventSink * This,
  6866.             /* [in] */ long EventCode,
  6867.             /* [in] */ LONG_PTR EventParam1,
  6868.             /* [in] */ LONG_PTR EventParam2);
  6869.         
  6870.         END_INTERFACE
  6871.     } IMediaEventSinkVtbl;
  6872.  
  6873.     interface IMediaEventSink
  6874.     {
  6875.         CONST_VTBL struct IMediaEventSinkVtbl *lpVtbl;
  6876.     };
  6877.  
  6878.     
  6879.  
  6880. #ifdef COBJMACROS
  6881.  
  6882.  
  6883. #define IMediaEventSink_QueryInterface(This,riid,ppvObject)    \
  6884.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6885.  
  6886. #define IMediaEventSink_AddRef(This)    \
  6887.     (This)->lpVtbl -> AddRef(This)
  6888.  
  6889. #define IMediaEventSink_Release(This)    \
  6890.     (This)->lpVtbl -> Release(This)
  6891.  
  6892.  
  6893. #define IMediaEventSink_Notify(This,EventCode,EventParam1,EventParam2)    \
  6894.     (This)->lpVtbl -> Notify(This,EventCode,EventParam1,EventParam2)
  6895.  
  6896. #endif /* COBJMACROS */
  6897.  
  6898.  
  6899. #endif     /* C style interface */
  6900.  
  6901.  
  6902.  
  6903. HRESULT STDMETHODCALLTYPE IMediaEventSink_Notify_Proxy( 
  6904.     IMediaEventSink * This,
  6905.     /* [in] */ long EventCode,
  6906.     /* [in] */ LONG_PTR EventParam1,
  6907.     /* [in] */ LONG_PTR EventParam2);
  6908.  
  6909.  
  6910. void __RPC_STUB IMediaEventSink_Notify_Stub(
  6911.     IRpcStubBuffer *This,
  6912.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6913.     PRPC_MESSAGE _pRpcMessage,
  6914.     DWORD *_pdwStubPhase);
  6915.  
  6916.  
  6917.  
  6918. #endif     /* __IMediaEventSink_INTERFACE_DEFINED__ */
  6919.  
  6920.  
  6921. /* interface __MIDL_itf_strmif_0142 */
  6922. /* [local] */ 
  6923.  
  6924. typedef IMediaEventSink *PMEDIAEVENTSINK;
  6925.  
  6926.  
  6927.  
  6928. extern RPC_IF_HANDLE __MIDL_itf_strmif_0142_v0_0_c_ifspec;
  6929. extern RPC_IF_HANDLE __MIDL_itf_strmif_0142_v0_0_s_ifspec;
  6930.  
  6931. #ifndef __IFileSourceFilter_INTERFACE_DEFINED__
  6932. #define __IFileSourceFilter_INTERFACE_DEFINED__
  6933.  
  6934. /* interface IFileSourceFilter */
  6935. /* [unique][uuid][object] */ 
  6936.  
  6937.  
  6938. EXTERN_C const IID IID_IFileSourceFilter;
  6939.  
  6940. #if defined(__cplusplus) && !defined(CINTERFACE)
  6941.     
  6942.     MIDL_INTERFACE("56a868a6-0ad4-11ce-b03a-0020af0ba770")
  6943.     IFileSourceFilter : public IUnknown
  6944.     {
  6945.     public:
  6946.         virtual HRESULT STDMETHODCALLTYPE Load( 
  6947.             /* [in] */ LPCOLESTR pszFileName,
  6948.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  6949.         
  6950.         virtual HRESULT STDMETHODCALLTYPE GetCurFile( 
  6951.             /* [out] */ LPOLESTR *ppszFileName,
  6952.             /* [out] */ AM_MEDIA_TYPE *pmt) = 0;
  6953.         
  6954.     };
  6955.     
  6956. #else     /* C style interface */
  6957.  
  6958.     typedef struct IFileSourceFilterVtbl
  6959.     {
  6960.         BEGIN_INTERFACE
  6961.         
  6962.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  6963.             IFileSourceFilter * This,
  6964.             /* [in] */ REFIID riid,
  6965.             /* [iid_is][out] */ void **ppvObject);
  6966.         
  6967.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  6968.             IFileSourceFilter * This);
  6969.         
  6970.         ULONG ( STDMETHODCALLTYPE *Release )( 
  6971.             IFileSourceFilter * This);
  6972.         
  6973.         HRESULT ( STDMETHODCALLTYPE *Load )( 
  6974.             IFileSourceFilter * This,
  6975.             /* [in] */ LPCOLESTR pszFileName,
  6976.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  6977.         
  6978.         HRESULT ( STDMETHODCALLTYPE *GetCurFile )( 
  6979.             IFileSourceFilter * This,
  6980.             /* [out] */ LPOLESTR *ppszFileName,
  6981.             /* [out] */ AM_MEDIA_TYPE *pmt);
  6982.         
  6983.         END_INTERFACE
  6984.     } IFileSourceFilterVtbl;
  6985.  
  6986.     interface IFileSourceFilter
  6987.     {
  6988.         CONST_VTBL struct IFileSourceFilterVtbl *lpVtbl;
  6989.     };
  6990.  
  6991.     
  6992.  
  6993. #ifdef COBJMACROS
  6994.  
  6995.  
  6996. #define IFileSourceFilter_QueryInterface(This,riid,ppvObject)    \
  6997.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6998.  
  6999. #define IFileSourceFilter_AddRef(This)    \
  7000.     (This)->lpVtbl -> AddRef(This)
  7001.  
  7002. #define IFileSourceFilter_Release(This)    \
  7003.     (This)->lpVtbl -> Release(This)
  7004.  
  7005.  
  7006. #define IFileSourceFilter_Load(This,pszFileName,pmt)    \
  7007.     (This)->lpVtbl -> Load(This,pszFileName,pmt)
  7008.  
  7009. #define IFileSourceFilter_GetCurFile(This,ppszFileName,pmt)    \
  7010.     (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)
  7011.  
  7012. #endif /* COBJMACROS */
  7013.  
  7014.  
  7015. #endif     /* C style interface */
  7016.  
  7017.  
  7018.  
  7019. HRESULT STDMETHODCALLTYPE IFileSourceFilter_Load_Proxy( 
  7020.     IFileSourceFilter * This,
  7021.     /* [in] */ LPCOLESTR pszFileName,
  7022.     /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  7023.  
  7024.  
  7025. void __RPC_STUB IFileSourceFilter_Load_Stub(
  7026.     IRpcStubBuffer *This,
  7027.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7028.     PRPC_MESSAGE _pRpcMessage,
  7029.     DWORD *_pdwStubPhase);
  7030.  
  7031.  
  7032. HRESULT STDMETHODCALLTYPE IFileSourceFilter_GetCurFile_Proxy( 
  7033.     IFileSourceFilter * This,
  7034.     /* [out] */ LPOLESTR *ppszFileName,
  7035.     /* [out] */ AM_MEDIA_TYPE *pmt);
  7036.  
  7037.  
  7038. void __RPC_STUB IFileSourceFilter_GetCurFile_Stub(
  7039.     IRpcStubBuffer *This,
  7040.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7041.     PRPC_MESSAGE _pRpcMessage,
  7042.     DWORD *_pdwStubPhase);
  7043.  
  7044.  
  7045.  
  7046. #endif     /* __IFileSourceFilter_INTERFACE_DEFINED__ */
  7047.  
  7048.  
  7049. /* interface __MIDL_itf_strmif_0143 */
  7050. /* [local] */ 
  7051.  
  7052. typedef IFileSourceFilter *PFILTERFILESOURCE;
  7053.  
  7054.  
  7055.  
  7056. extern RPC_IF_HANDLE __MIDL_itf_strmif_0143_v0_0_c_ifspec;
  7057. extern RPC_IF_HANDLE __MIDL_itf_strmif_0143_v0_0_s_ifspec;
  7058.  
  7059. #ifndef __IFileSinkFilter_INTERFACE_DEFINED__
  7060. #define __IFileSinkFilter_INTERFACE_DEFINED__
  7061.  
  7062. /* interface IFileSinkFilter */
  7063. /* [unique][uuid][object] */ 
  7064.  
  7065.  
  7066. EXTERN_C const IID IID_IFileSinkFilter;
  7067.  
  7068. #if defined(__cplusplus) && !defined(CINTERFACE)
  7069.     
  7070.     MIDL_INTERFACE("a2104830-7c70-11cf-8bce-00aa00a3f1a6")
  7071.     IFileSinkFilter : public IUnknown
  7072.     {
  7073.     public:
  7074.         virtual HRESULT STDMETHODCALLTYPE SetFileName( 
  7075.             /* [in] */ LPCOLESTR pszFileName,
  7076.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  7077.         
  7078.         virtual HRESULT STDMETHODCALLTYPE GetCurFile( 
  7079.             /* [out] */ LPOLESTR *ppszFileName,
  7080.             /* [out] */ AM_MEDIA_TYPE *pmt) = 0;
  7081.         
  7082.     };
  7083.     
  7084. #else     /* C style interface */
  7085.  
  7086.     typedef struct IFileSinkFilterVtbl
  7087.     {
  7088.         BEGIN_INTERFACE
  7089.         
  7090.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  7091.             IFileSinkFilter * This,
  7092.             /* [in] */ REFIID riid,
  7093.             /* [iid_is][out] */ void **ppvObject);
  7094.         
  7095.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  7096.             IFileSinkFilter * This);
  7097.         
  7098.         ULONG ( STDMETHODCALLTYPE *Release )( 
  7099.             IFileSinkFilter * This);
  7100.         
  7101.         HRESULT ( STDMETHODCALLTYPE *SetFileName )( 
  7102.             IFileSinkFilter * This,
  7103.             /* [in] */ LPCOLESTR pszFileName,
  7104.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  7105.         
  7106.         HRESULT ( STDMETHODCALLTYPE *GetCurFile )( 
  7107.             IFileSinkFilter * This,
  7108.             /* [out] */ LPOLESTR *ppszFileName,
  7109.             /* [out] */ AM_MEDIA_TYPE *pmt);
  7110.         
  7111.         END_INTERFACE
  7112.     } IFileSinkFilterVtbl;
  7113.  
  7114.     interface IFileSinkFilter
  7115.     {
  7116.         CONST_VTBL struct IFileSinkFilterVtbl *lpVtbl;
  7117.     };
  7118.  
  7119.     
  7120.  
  7121. #ifdef COBJMACROS
  7122.  
  7123.  
  7124. #define IFileSinkFilter_QueryInterface(This,riid,ppvObject)    \
  7125.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7126.  
  7127. #define IFileSinkFilter_AddRef(This)    \
  7128.     (This)->lpVtbl -> AddRef(This)
  7129.  
  7130. #define IFileSinkFilter_Release(This)    \
  7131.     (This)->lpVtbl -> Release(This)
  7132.  
  7133.  
  7134. #define IFileSinkFilter_SetFileName(This,pszFileName,pmt)    \
  7135.     (This)->lpVtbl -> SetFileName(This,pszFileName,pmt)
  7136.  
  7137. #define IFileSinkFilter_GetCurFile(This,ppszFileName,pmt)    \
  7138.     (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)
  7139.  
  7140. #endif /* COBJMACROS */
  7141.  
  7142.  
  7143. #endif     /* C style interface */
  7144.  
  7145.  
  7146.  
  7147. HRESULT STDMETHODCALLTYPE IFileSinkFilter_SetFileName_Proxy( 
  7148.     IFileSinkFilter * This,
  7149.     /* [in] */ LPCOLESTR pszFileName,
  7150.     /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  7151.  
  7152.  
  7153. void __RPC_STUB IFileSinkFilter_SetFileName_Stub(
  7154.     IRpcStubBuffer *This,
  7155.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7156.     PRPC_MESSAGE _pRpcMessage,
  7157.     DWORD *_pdwStubPhase);
  7158.  
  7159.  
  7160. HRESULT STDMETHODCALLTYPE IFileSinkFilter_GetCurFile_Proxy( 
  7161.     IFileSinkFilter * This,
  7162.     /* [out] */ LPOLESTR *ppszFileName,
  7163.     /* [out] */ AM_MEDIA_TYPE *pmt);
  7164.  
  7165.  
  7166. void __RPC_STUB IFileSinkFilter_GetCurFile_Stub(
  7167.     IRpcStubBuffer *This,
  7168.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7169.     PRPC_MESSAGE _pRpcMessage,
  7170.     DWORD *_pdwStubPhase);
  7171.  
  7172.  
  7173.  
  7174. #endif     /* __IFileSinkFilter_INTERFACE_DEFINED__ */
  7175.  
  7176.  
  7177. /* interface __MIDL_itf_strmif_0144 */
  7178. /* [local] */ 
  7179.  
  7180. typedef IFileSinkFilter *PFILTERFILESINK;
  7181.  
  7182.  
  7183.  
  7184. extern RPC_IF_HANDLE __MIDL_itf_strmif_0144_v0_0_c_ifspec;
  7185. extern RPC_IF_HANDLE __MIDL_itf_strmif_0144_v0_0_s_ifspec;
  7186.  
  7187. #ifndef __IFileSinkFilter2_INTERFACE_DEFINED__
  7188. #define __IFileSinkFilter2_INTERFACE_DEFINED__
  7189.  
  7190. /* interface IFileSinkFilter2 */
  7191. /* [unique][uuid][object] */ 
  7192.  
  7193.  
  7194. EXTERN_C const IID IID_IFileSinkFilter2;
  7195.  
  7196. #if defined(__cplusplus) && !defined(CINTERFACE)
  7197.     
  7198.     MIDL_INTERFACE("00855B90-CE1B-11d0-BD4F-00A0C911CE86")
  7199.     IFileSinkFilter2 : public IFileSinkFilter
  7200.     {
  7201.     public:
  7202.         virtual HRESULT STDMETHODCALLTYPE SetMode( 
  7203.             /* [in] */ DWORD dwFlags) = 0;
  7204.         
  7205.         virtual HRESULT STDMETHODCALLTYPE GetMode( 
  7206.             /* [out] */ DWORD *pdwFlags) = 0;
  7207.         
  7208.     };
  7209.     
  7210. #else     /* C style interface */
  7211.  
  7212.     typedef struct IFileSinkFilter2Vtbl
  7213.     {
  7214.         BEGIN_INTERFACE
  7215.         
  7216.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  7217.             IFileSinkFilter2 * This,
  7218.             /* [in] */ REFIID riid,
  7219.             /* [iid_is][out] */ void **ppvObject);
  7220.         
  7221.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  7222.             IFileSinkFilter2 * This);
  7223.         
  7224.         ULONG ( STDMETHODCALLTYPE *Release )( 
  7225.             IFileSinkFilter2 * This);
  7226.         
  7227.         HRESULT ( STDMETHODCALLTYPE *SetFileName )( 
  7228.             IFileSinkFilter2 * This,
  7229.             /* [in] */ LPCOLESTR pszFileName,
  7230.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  7231.         
  7232.         HRESULT ( STDMETHODCALLTYPE *GetCurFile )( 
  7233.             IFileSinkFilter2 * This,
  7234.             /* [out] */ LPOLESTR *ppszFileName,
  7235.             /* [out] */ AM_MEDIA_TYPE *pmt);
  7236.         
  7237.         HRESULT ( STDMETHODCALLTYPE *SetMode )( 
  7238.             IFileSinkFilter2 * This,
  7239.             /* [in] */ DWORD dwFlags);
  7240.         
  7241.         HRESULT ( STDMETHODCALLTYPE *GetMode )( 
  7242.             IFileSinkFilter2 * This,
  7243.             /* [out] */ DWORD *pdwFlags);
  7244.         
  7245.         END_INTERFACE
  7246.     } IFileSinkFilter2Vtbl;
  7247.  
  7248.     interface IFileSinkFilter2
  7249.     {
  7250.         CONST_VTBL struct IFileSinkFilter2Vtbl *lpVtbl;
  7251.     };
  7252.  
  7253.     
  7254.  
  7255. #ifdef COBJMACROS
  7256.  
  7257.  
  7258. #define IFileSinkFilter2_QueryInterface(This,riid,ppvObject)    \
  7259.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7260.  
  7261. #define IFileSinkFilter2_AddRef(This)    \
  7262.     (This)->lpVtbl -> AddRef(This)
  7263.  
  7264. #define IFileSinkFilter2_Release(This)    \
  7265.     (This)->lpVtbl -> Release(This)
  7266.  
  7267.  
  7268. #define IFileSinkFilter2_SetFileName(This,pszFileName,pmt)    \
  7269.     (This)->lpVtbl -> SetFileName(This,pszFileName,pmt)
  7270.  
  7271. #define IFileSinkFilter2_GetCurFile(This,ppszFileName,pmt)    \
  7272.     (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)
  7273.  
  7274.  
  7275. #define IFileSinkFilter2_SetMode(This,dwFlags)    \
  7276.     (This)->lpVtbl -> SetMode(This,dwFlags)
  7277.  
  7278. #define IFileSinkFilter2_GetMode(This,pdwFlags)    \
  7279.     (This)->lpVtbl -> GetMode(This,pdwFlags)
  7280.  
  7281. #endif /* COBJMACROS */
  7282.  
  7283.  
  7284. #endif     /* C style interface */
  7285.  
  7286.  
  7287.  
  7288. HRESULT STDMETHODCALLTYPE IFileSinkFilter2_SetMode_Proxy( 
  7289.     IFileSinkFilter2 * This,
  7290.     /* [in] */ DWORD dwFlags);
  7291.  
  7292.  
  7293. void __RPC_STUB IFileSinkFilter2_SetMode_Stub(
  7294.     IRpcStubBuffer *This,
  7295.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7296.     PRPC_MESSAGE _pRpcMessage,
  7297.     DWORD *_pdwStubPhase);
  7298.  
  7299.  
  7300. HRESULT STDMETHODCALLTYPE IFileSinkFilter2_GetMode_Proxy( 
  7301.     IFileSinkFilter2 * This,
  7302.     /* [out] */ DWORD *pdwFlags);
  7303.  
  7304.  
  7305. void __RPC_STUB IFileSinkFilter2_GetMode_Stub(
  7306.     IRpcStubBuffer *This,
  7307.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7308.     PRPC_MESSAGE _pRpcMessage,
  7309.     DWORD *_pdwStubPhase);
  7310.  
  7311.  
  7312.  
  7313. #endif     /* __IFileSinkFilter2_INTERFACE_DEFINED__ */
  7314.  
  7315.  
  7316. /* interface __MIDL_itf_strmif_0145 */
  7317. /* [local] */ 
  7318.  
  7319. typedef IFileSinkFilter2 *PFILESINKFILTER2;
  7320.  
  7321. typedef /* [public] */ 
  7322. enum __MIDL___MIDL_itf_strmif_0145_0001
  7323.     {    AM_FILE_OVERWRITE    = 0x1
  7324.     }     AM_FILESINK_FLAGS;
  7325.  
  7326.  
  7327.  
  7328. extern RPC_IF_HANDLE __MIDL_itf_strmif_0145_v0_0_c_ifspec;
  7329. extern RPC_IF_HANDLE __MIDL_itf_strmif_0145_v0_0_s_ifspec;
  7330.  
  7331. #ifndef __IGraphBuilder_INTERFACE_DEFINED__
  7332. #define __IGraphBuilder_INTERFACE_DEFINED__
  7333.  
  7334. /* interface IGraphBuilder */
  7335. /* [unique][uuid][object] */ 
  7336.  
  7337.  
  7338. EXTERN_C const IID IID_IGraphBuilder;
  7339.  
  7340. #if defined(__cplusplus) && !defined(CINTERFACE)
  7341.     
  7342.     MIDL_INTERFACE("56a868a9-0ad4-11ce-b03a-0020af0ba770")
  7343.     IGraphBuilder : public IFilterGraph
  7344.     {
  7345.     public:
  7346.         virtual HRESULT STDMETHODCALLTYPE Connect( 
  7347.             /* [in] */ IPin *ppinOut,
  7348.             /* [in] */ IPin *ppinIn) = 0;
  7349.         
  7350.         virtual HRESULT STDMETHODCALLTYPE Render( 
  7351.             /* [in] */ IPin *ppinOut) = 0;
  7352.         
  7353.         virtual HRESULT STDMETHODCALLTYPE RenderFile( 
  7354.             /* [in] */ LPCWSTR lpcwstrFile,
  7355.             /* [unique][in] */ LPCWSTR lpcwstrPlayList) = 0;
  7356.         
  7357.         virtual HRESULT STDMETHODCALLTYPE AddSourceFilter( 
  7358.             /* [in] */ LPCWSTR lpcwstrFileName,
  7359.             /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  7360.             /* [out] */ IBaseFilter **ppFilter) = 0;
  7361.         
  7362.         virtual HRESULT STDMETHODCALLTYPE SetLogFile( 
  7363.             /* [in] */ DWORD_PTR hFile) = 0;
  7364.         
  7365.         virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0;
  7366.         
  7367.         virtual HRESULT STDMETHODCALLTYPE ShouldOperationContinue( void) = 0;
  7368.         
  7369.     };
  7370.     
  7371. #else     /* C style interface */
  7372.  
  7373.     typedef struct IGraphBuilderVtbl
  7374.     {
  7375.         BEGIN_INTERFACE
  7376.         
  7377.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  7378.             IGraphBuilder * This,
  7379.             /* [in] */ REFIID riid,
  7380.             /* [iid_is][out] */ void **ppvObject);
  7381.         
  7382.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  7383.             IGraphBuilder * This);
  7384.         
  7385.         ULONG ( STDMETHODCALLTYPE *Release )( 
  7386.             IGraphBuilder * This);
  7387.         
  7388.         HRESULT ( STDMETHODCALLTYPE *AddFilter )( 
  7389.             IGraphBuilder * This,
  7390.             /* [in] */ IBaseFilter *pFilter,
  7391.             /* [string][in] */ LPCWSTR pName);
  7392.         
  7393.         HRESULT ( STDMETHODCALLTYPE *RemoveFilter )( 
  7394.             IGraphBuilder * This,
  7395.             /* [in] */ IBaseFilter *pFilter);
  7396.         
  7397.         HRESULT ( STDMETHODCALLTYPE *EnumFilters )( 
  7398.             IGraphBuilder * This,
  7399.             /* [out] */ IEnumFilters **ppEnum);
  7400.         
  7401.         HRESULT ( STDMETHODCALLTYPE *FindFilterByName )( 
  7402.             IGraphBuilder * This,
  7403.             /* [string][in] */ LPCWSTR pName,
  7404.             /* [out] */ IBaseFilter **ppFilter);
  7405.         
  7406.         HRESULT ( STDMETHODCALLTYPE *ConnectDirect )( 
  7407.             IGraphBuilder * This,
  7408.             /* [in] */ IPin *ppinOut,
  7409.             /* [in] */ IPin *ppinIn,
  7410.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  7411.         
  7412.         HRESULT ( STDMETHODCALLTYPE *Reconnect )( 
  7413.             IGraphBuilder * This,
  7414.             /* [in] */ IPin *ppin);
  7415.         
  7416.         HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  7417.             IGraphBuilder * This,
  7418.             /* [in] */ IPin *ppin);
  7419.         
  7420.         HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )( 
  7421.             IGraphBuilder * This);
  7422.         
  7423.         HRESULT ( STDMETHODCALLTYPE *Connect )( 
  7424.             IGraphBuilder * This,
  7425.             /* [in] */ IPin *ppinOut,
  7426.             /* [in] */ IPin *ppinIn);
  7427.         
  7428.         HRESULT ( STDMETHODCALLTYPE *Render )( 
  7429.             IGraphBuilder * This,
  7430.             /* [in] */ IPin *ppinOut);
  7431.         
  7432.         HRESULT ( STDMETHODCALLTYPE *RenderFile )( 
  7433.             IGraphBuilder * This,
  7434.             /* [in] */ LPCWSTR lpcwstrFile,
  7435.             /* [unique][in] */ LPCWSTR lpcwstrPlayList);
  7436.         
  7437.         HRESULT ( STDMETHODCALLTYPE *AddSourceFilter )( 
  7438.             IGraphBuilder * This,
  7439.             /* [in] */ LPCWSTR lpcwstrFileName,
  7440.             /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  7441.             /* [out] */ IBaseFilter **ppFilter);
  7442.         
  7443.         HRESULT ( STDMETHODCALLTYPE *SetLogFile )( 
  7444.             IGraphBuilder * This,
  7445.             /* [in] */ DWORD_PTR hFile);
  7446.         
  7447.         HRESULT ( STDMETHODCALLTYPE *Abort )( 
  7448.             IGraphBuilder * This);
  7449.         
  7450.         HRESULT ( STDMETHODCALLTYPE *ShouldOperationContinue )( 
  7451.             IGraphBuilder * This);
  7452.         
  7453.         END_INTERFACE
  7454.     } IGraphBuilderVtbl;
  7455.  
  7456.     interface IGraphBuilder
  7457.     {
  7458.         CONST_VTBL struct IGraphBuilderVtbl *lpVtbl;
  7459.     };
  7460.  
  7461.     
  7462.  
  7463. #ifdef COBJMACROS
  7464.  
  7465.  
  7466. #define IGraphBuilder_QueryInterface(This,riid,ppvObject)    \
  7467.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7468.  
  7469. #define IGraphBuilder_AddRef(This)    \
  7470.     (This)->lpVtbl -> AddRef(This)
  7471.  
  7472. #define IGraphBuilder_Release(This)    \
  7473.     (This)->lpVtbl -> Release(This)
  7474.  
  7475.  
  7476. #define IGraphBuilder_AddFilter(This,pFilter,pName)    \
  7477.     (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  7478.  
  7479. #define IGraphBuilder_RemoveFilter(This,pFilter)    \
  7480.     (This)->lpVtbl -> RemoveFilter(This,pFilter)
  7481.  
  7482. #define IGraphBuilder_EnumFilters(This,ppEnum)    \
  7483.     (This)->lpVtbl -> EnumFilters(This,ppEnum)
  7484.  
  7485. #define IGraphBuilder_FindFilterByName(This,pName,ppFilter)    \
  7486.     (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  7487.  
  7488. #define IGraphBuilder_ConnectDirect(This,ppinOut,ppinIn,pmt)    \
  7489.     (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  7490.  
  7491. #define IGraphBuilder_Reconnect(This,ppin)    \
  7492.     (This)->lpVtbl -> Reconnect(This,ppin)
  7493.  
  7494. #define IGraphBuilder_Disconnect(This,ppin)    \
  7495.     (This)->lpVtbl -> Disconnect(This,ppin)
  7496.  
  7497. #define IGraphBuilder_SetDefaultSyncSource(This)    \
  7498.     (This)->lpVtbl -> SetDefaultSyncSource(This)
  7499.  
  7500.  
  7501. #define IGraphBuilder_Connect(This,ppinOut,ppinIn)    \
  7502.     (This)->lpVtbl -> Connect(This,ppinOut,ppinIn)
  7503.  
  7504. #define IGraphBuilder_Render(This,ppinOut)    \
  7505.     (This)->lpVtbl -> Render(This,ppinOut)
  7506.  
  7507. #define IGraphBuilder_RenderFile(This,lpcwstrFile,lpcwstrPlayList)    \
  7508.     (This)->lpVtbl -> RenderFile(This,lpcwstrFile,lpcwstrPlayList)
  7509.  
  7510. #define IGraphBuilder_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)    \
  7511.     (This)->lpVtbl -> AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
  7512.  
  7513. #define IGraphBuilder_SetLogFile(This,hFile)    \
  7514.     (This)->lpVtbl -> SetLogFile(This,hFile)
  7515.  
  7516. #define IGraphBuilder_Abort(This)    \
  7517.     (This)->lpVtbl -> Abort(This)
  7518.  
  7519. #define IGraphBuilder_ShouldOperationContinue(This)    \
  7520.     (This)->lpVtbl -> ShouldOperationContinue(This)
  7521.  
  7522. #endif /* COBJMACROS */
  7523.  
  7524.  
  7525. #endif     /* C style interface */
  7526.  
  7527.  
  7528.  
  7529. HRESULT STDMETHODCALLTYPE IGraphBuilder_Connect_Proxy( 
  7530.     IGraphBuilder * This,
  7531.     /* [in] */ IPin *ppinOut,
  7532.     /* [in] */ IPin *ppinIn);
  7533.  
  7534.  
  7535. void __RPC_STUB IGraphBuilder_Connect_Stub(
  7536.     IRpcStubBuffer *This,
  7537.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7538.     PRPC_MESSAGE _pRpcMessage,
  7539.     DWORD *_pdwStubPhase);
  7540.  
  7541.  
  7542. HRESULT STDMETHODCALLTYPE IGraphBuilder_Render_Proxy( 
  7543.     IGraphBuilder * This,
  7544.     /* [in] */ IPin *ppinOut);
  7545.  
  7546.  
  7547. void __RPC_STUB IGraphBuilder_Render_Stub(
  7548.     IRpcStubBuffer *This,
  7549.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7550.     PRPC_MESSAGE _pRpcMessage,
  7551.     DWORD *_pdwStubPhase);
  7552.  
  7553.  
  7554. HRESULT STDMETHODCALLTYPE IGraphBuilder_RenderFile_Proxy( 
  7555.     IGraphBuilder * This,
  7556.     /* [in] */ LPCWSTR lpcwstrFile,
  7557.     /* [unique][in] */ LPCWSTR lpcwstrPlayList);
  7558.  
  7559.  
  7560. void __RPC_STUB IGraphBuilder_RenderFile_Stub(
  7561.     IRpcStubBuffer *This,
  7562.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7563.     PRPC_MESSAGE _pRpcMessage,
  7564.     DWORD *_pdwStubPhase);
  7565.  
  7566.  
  7567. HRESULT STDMETHODCALLTYPE IGraphBuilder_AddSourceFilter_Proxy( 
  7568.     IGraphBuilder * This,
  7569.     /* [in] */ LPCWSTR lpcwstrFileName,
  7570.     /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  7571.     /* [out] */ IBaseFilter **ppFilter);
  7572.  
  7573.  
  7574. void __RPC_STUB IGraphBuilder_AddSourceFilter_Stub(
  7575.     IRpcStubBuffer *This,
  7576.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7577.     PRPC_MESSAGE _pRpcMessage,
  7578.     DWORD *_pdwStubPhase);
  7579.  
  7580.  
  7581. HRESULT STDMETHODCALLTYPE IGraphBuilder_SetLogFile_Proxy( 
  7582.     IGraphBuilder * This,
  7583.     /* [in] */ DWORD_PTR hFile);
  7584.  
  7585.  
  7586. void __RPC_STUB IGraphBuilder_SetLogFile_Stub(
  7587.     IRpcStubBuffer *This,
  7588.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7589.     PRPC_MESSAGE _pRpcMessage,
  7590.     DWORD *_pdwStubPhase);
  7591.  
  7592.  
  7593. HRESULT STDMETHODCALLTYPE IGraphBuilder_Abort_Proxy( 
  7594.     IGraphBuilder * This);
  7595.  
  7596.  
  7597. void __RPC_STUB IGraphBuilder_Abort_Stub(
  7598.     IRpcStubBuffer *This,
  7599.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7600.     PRPC_MESSAGE _pRpcMessage,
  7601.     DWORD *_pdwStubPhase);
  7602.  
  7603.  
  7604. HRESULT STDMETHODCALLTYPE IGraphBuilder_ShouldOperationContinue_Proxy( 
  7605.     IGraphBuilder * This);
  7606.  
  7607.  
  7608. void __RPC_STUB IGraphBuilder_ShouldOperationContinue_Stub(
  7609.     IRpcStubBuffer *This,
  7610.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7611.     PRPC_MESSAGE _pRpcMessage,
  7612.     DWORD *_pdwStubPhase);
  7613.  
  7614.  
  7615.  
  7616. #endif     /* __IGraphBuilder_INTERFACE_DEFINED__ */
  7617.  
  7618.  
  7619. #ifndef __ICaptureGraphBuilder_INTERFACE_DEFINED__
  7620. #define __ICaptureGraphBuilder_INTERFACE_DEFINED__
  7621.  
  7622. /* interface ICaptureGraphBuilder */
  7623. /* [unique][uuid][object] */ 
  7624.  
  7625.  
  7626. EXTERN_C const IID IID_ICaptureGraphBuilder;
  7627.  
  7628. #if defined(__cplusplus) && !defined(CINTERFACE)
  7629.     
  7630.     MIDL_INTERFACE("bf87b6e0-8c27-11d0-b3f0-00aa003761c5")
  7631.     ICaptureGraphBuilder : public IUnknown
  7632.     {
  7633.     public:
  7634.         virtual HRESULT STDMETHODCALLTYPE SetFiltergraph( 
  7635.             /* [in] */ IGraphBuilder *pfg) = 0;
  7636.         
  7637.         virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( 
  7638.             /* [out] */ IGraphBuilder **ppfg) = 0;
  7639.         
  7640.         virtual HRESULT STDMETHODCALLTYPE SetOutputFileName( 
  7641.             /* [in] */ const GUID *pType,
  7642.             /* [in] */ LPCOLESTR lpstrFile,
  7643.             /* [out] */ IBaseFilter **ppf,
  7644.             /* [out] */ IFileSinkFilter **ppSink) = 0;
  7645.         
  7646.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE FindInterface( 
  7647.             /* [unique][in] */ const GUID *pCategory,
  7648.             /* [in] */ IBaseFilter *pf,
  7649.             /* [in] */ REFIID riid,
  7650.             /* [out] */ void **ppint) = 0;
  7651.         
  7652.         virtual HRESULT STDMETHODCALLTYPE RenderStream( 
  7653.             /* [in] */ const GUID *pCategory,
  7654.             /* [in] */ IUnknown *pSource,
  7655.             /* [in] */ IBaseFilter *pfCompressor,
  7656.             /* [in] */ IBaseFilter *pfRenderer) = 0;
  7657.         
  7658.         virtual HRESULT STDMETHODCALLTYPE ControlStream( 
  7659.             /* [in] */ const GUID *pCategory,
  7660.             /* [in] */ IBaseFilter *pFilter,
  7661.             /* [in] */ REFERENCE_TIME *pstart,
  7662.             /* [in] */ REFERENCE_TIME *pstop,
  7663.             /* [in] */ WORD wStartCookie,
  7664.             /* [in] */ WORD wStopCookie) = 0;
  7665.         
  7666.         virtual HRESULT STDMETHODCALLTYPE AllocCapFile( 
  7667.             /* [in] */ LPCOLESTR lpstr,
  7668.             /* [in] */ DWORDLONG dwlSize) = 0;
  7669.         
  7670.         virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile( 
  7671.             /* [in] */ LPOLESTR lpwstrOld,
  7672.             /* [in] */ LPOLESTR lpwstrNew,
  7673.             /* [in] */ int fAllowEscAbort,
  7674.             /* [in] */ IAMCopyCaptureFileProgress *pCallback) = 0;
  7675.         
  7676.     };
  7677.     
  7678. #else     /* C style interface */
  7679.  
  7680.     typedef struct ICaptureGraphBuilderVtbl
  7681.     {
  7682.         BEGIN_INTERFACE
  7683.         
  7684.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  7685.             ICaptureGraphBuilder * This,
  7686.             /* [in] */ REFIID riid,
  7687.             /* [iid_is][out] */ void **ppvObject);
  7688.         
  7689.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  7690.             ICaptureGraphBuilder * This);
  7691.         
  7692.         ULONG ( STDMETHODCALLTYPE *Release )( 
  7693.             ICaptureGraphBuilder * This);
  7694.         
  7695.         HRESULT ( STDMETHODCALLTYPE *SetFiltergraph )( 
  7696.             ICaptureGraphBuilder * This,
  7697.             /* [in] */ IGraphBuilder *pfg);
  7698.         
  7699.         HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )( 
  7700.             ICaptureGraphBuilder * This,
  7701.             /* [out] */ IGraphBuilder **ppfg);
  7702.         
  7703.         HRESULT ( STDMETHODCALLTYPE *SetOutputFileName )( 
  7704.             ICaptureGraphBuilder * This,
  7705.             /* [in] */ const GUID *pType,
  7706.             /* [in] */ LPCOLESTR lpstrFile,
  7707.             /* [out] */ IBaseFilter **ppf,
  7708.             /* [out] */ IFileSinkFilter **ppSink);
  7709.         
  7710.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *FindInterface )( 
  7711.             ICaptureGraphBuilder * This,
  7712.             /* [unique][in] */ const GUID *pCategory,
  7713.             /* [in] */ IBaseFilter *pf,
  7714.             /* [in] */ REFIID riid,
  7715.             /* [out] */ void **ppint);
  7716.         
  7717.         HRESULT ( STDMETHODCALLTYPE *RenderStream )( 
  7718.             ICaptureGraphBuilder * This,
  7719.             /* [in] */ const GUID *pCategory,
  7720.             /* [in] */ IUnknown *pSource,
  7721.             /* [in] */ IBaseFilter *pfCompressor,
  7722.             /* [in] */ IBaseFilter *pfRenderer);
  7723.         
  7724.         HRESULT ( STDMETHODCALLTYPE *ControlStream )( 
  7725.             ICaptureGraphBuilder * This,
  7726.             /* [in] */ const GUID *pCategory,
  7727.             /* [in] */ IBaseFilter *pFilter,
  7728.             /* [in] */ REFERENCE_TIME *pstart,
  7729.             /* [in] */ REFERENCE_TIME *pstop,
  7730.             /* [in] */ WORD wStartCookie,
  7731.             /* [in] */ WORD wStopCookie);
  7732.         
  7733.         HRESULT ( STDMETHODCALLTYPE *AllocCapFile )( 
  7734.             ICaptureGraphBuilder * This,
  7735.             /* [in] */ LPCOLESTR lpstr,
  7736.             /* [in] */ DWORDLONG dwlSize);
  7737.         
  7738.         HRESULT ( STDMETHODCALLTYPE *CopyCaptureFile )( 
  7739.             ICaptureGraphBuilder * This,
  7740.             /* [in] */ LPOLESTR lpwstrOld,
  7741.             /* [in] */ LPOLESTR lpwstrNew,
  7742.             /* [in] */ int fAllowEscAbort,
  7743.             /* [in] */ IAMCopyCaptureFileProgress *pCallback);
  7744.         
  7745.         END_INTERFACE
  7746.     } ICaptureGraphBuilderVtbl;
  7747.  
  7748.     interface ICaptureGraphBuilder
  7749.     {
  7750.         CONST_VTBL struct ICaptureGraphBuilderVtbl *lpVtbl;
  7751.     };
  7752.  
  7753.     
  7754.  
  7755. #ifdef COBJMACROS
  7756.  
  7757.  
  7758. #define ICaptureGraphBuilder_QueryInterface(This,riid,ppvObject)    \
  7759.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7760.  
  7761. #define ICaptureGraphBuilder_AddRef(This)    \
  7762.     (This)->lpVtbl -> AddRef(This)
  7763.  
  7764. #define ICaptureGraphBuilder_Release(This)    \
  7765.     (This)->lpVtbl -> Release(This)
  7766.  
  7767.  
  7768. #define ICaptureGraphBuilder_SetFiltergraph(This,pfg)    \
  7769.     (This)->lpVtbl -> SetFiltergraph(This,pfg)
  7770.  
  7771. #define ICaptureGraphBuilder_GetFiltergraph(This,ppfg)    \
  7772.     (This)->lpVtbl -> GetFiltergraph(This,ppfg)
  7773.  
  7774. #define ICaptureGraphBuilder_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)    \
  7775.     (This)->lpVtbl -> SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)
  7776.  
  7777. #define ICaptureGraphBuilder_FindInterface(This,pCategory,pf,riid,ppint)    \
  7778.     (This)->lpVtbl -> FindInterface(This,pCategory,pf,riid,ppint)
  7779.  
  7780. #define ICaptureGraphBuilder_RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer)    \
  7781.     (This)->lpVtbl -> RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer)
  7782.  
  7783. #define ICaptureGraphBuilder_ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie)    \
  7784.     (This)->lpVtbl -> ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie)
  7785.  
  7786. #define ICaptureGraphBuilder_AllocCapFile(This,lpstr,dwlSize)    \
  7787.     (This)->lpVtbl -> AllocCapFile(This,lpstr,dwlSize)
  7788.  
  7789. #define ICaptureGraphBuilder_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)    \
  7790.     (This)->lpVtbl -> CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)
  7791.  
  7792. #endif /* COBJMACROS */
  7793.  
  7794.  
  7795. #endif     /* C style interface */
  7796.  
  7797.  
  7798.  
  7799. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetFiltergraph_Proxy( 
  7800.     ICaptureGraphBuilder * This,
  7801.     /* [in] */ IGraphBuilder *pfg);
  7802.  
  7803.  
  7804. void __RPC_STUB ICaptureGraphBuilder_SetFiltergraph_Stub(
  7805.     IRpcStubBuffer *This,
  7806.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7807.     PRPC_MESSAGE _pRpcMessage,
  7808.     DWORD *_pdwStubPhase);
  7809.  
  7810.  
  7811. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_GetFiltergraph_Proxy( 
  7812.     ICaptureGraphBuilder * This,
  7813.     /* [out] */ IGraphBuilder **ppfg);
  7814.  
  7815.  
  7816. void __RPC_STUB ICaptureGraphBuilder_GetFiltergraph_Stub(
  7817.     IRpcStubBuffer *This,
  7818.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7819.     PRPC_MESSAGE _pRpcMessage,
  7820.     DWORD *_pdwStubPhase);
  7821.  
  7822.  
  7823. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetOutputFileName_Proxy( 
  7824.     ICaptureGraphBuilder * This,
  7825.     /* [in] */ const GUID *pType,
  7826.     /* [in] */ LPCOLESTR lpstrFile,
  7827.     /* [out] */ IBaseFilter **ppf,
  7828.     /* [out] */ IFileSinkFilter **ppSink);
  7829.  
  7830.  
  7831. void __RPC_STUB ICaptureGraphBuilder_SetOutputFileName_Stub(
  7832.     IRpcStubBuffer *This,
  7833.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7834.     PRPC_MESSAGE _pRpcMessage,
  7835.     DWORD *_pdwStubPhase);
  7836.  
  7837.  
  7838. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RemoteFindInterface_Proxy( 
  7839.     ICaptureGraphBuilder * This,
  7840.     /* [unique][in] */ const GUID *pCategory,
  7841.     /* [in] */ IBaseFilter *pf,
  7842.     /* [in] */ REFIID riid,
  7843.     /* [out] */ IUnknown **ppint);
  7844.  
  7845.  
  7846. void __RPC_STUB ICaptureGraphBuilder_RemoteFindInterface_Stub(
  7847.     IRpcStubBuffer *This,
  7848.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7849.     PRPC_MESSAGE _pRpcMessage,
  7850.     DWORD *_pdwStubPhase);
  7851.  
  7852.  
  7853. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RenderStream_Proxy( 
  7854.     ICaptureGraphBuilder * This,
  7855.     /* [in] */ const GUID *pCategory,
  7856.     /* [in] */ IUnknown *pSource,
  7857.     /* [in] */ IBaseFilter *pfCompressor,
  7858.     /* [in] */ IBaseFilter *pfRenderer);
  7859.  
  7860.  
  7861. void __RPC_STUB ICaptureGraphBuilder_RenderStream_Stub(
  7862.     IRpcStubBuffer *This,
  7863.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7864.     PRPC_MESSAGE _pRpcMessage,
  7865.     DWORD *_pdwStubPhase);
  7866.  
  7867.  
  7868. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_ControlStream_Proxy( 
  7869.     ICaptureGraphBuilder * This,
  7870.     /* [in] */ const GUID *pCategory,
  7871.     /* [in] */ IBaseFilter *pFilter,
  7872.     /* [in] */ REFERENCE_TIME *pstart,
  7873.     /* [in] */ REFERENCE_TIME *pstop,
  7874.     /* [in] */ WORD wStartCookie,
  7875.     /* [in] */ WORD wStopCookie);
  7876.  
  7877.  
  7878. void __RPC_STUB ICaptureGraphBuilder_ControlStream_Stub(
  7879.     IRpcStubBuffer *This,
  7880.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7881.     PRPC_MESSAGE _pRpcMessage,
  7882.     DWORD *_pdwStubPhase);
  7883.  
  7884.  
  7885. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_AllocCapFile_Proxy( 
  7886.     ICaptureGraphBuilder * This,
  7887.     /* [in] */ LPCOLESTR lpstr,
  7888.     /* [in] */ DWORDLONG dwlSize);
  7889.  
  7890.  
  7891. void __RPC_STUB ICaptureGraphBuilder_AllocCapFile_Stub(
  7892.     IRpcStubBuffer *This,
  7893.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7894.     PRPC_MESSAGE _pRpcMessage,
  7895.     DWORD *_pdwStubPhase);
  7896.  
  7897.  
  7898. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_CopyCaptureFile_Proxy( 
  7899.     ICaptureGraphBuilder * This,
  7900.     /* [in] */ LPOLESTR lpwstrOld,
  7901.     /* [in] */ LPOLESTR lpwstrNew,
  7902.     /* [in] */ int fAllowEscAbort,
  7903.     /* [in] */ IAMCopyCaptureFileProgress *pCallback);
  7904.  
  7905.  
  7906. void __RPC_STUB ICaptureGraphBuilder_CopyCaptureFile_Stub(
  7907.     IRpcStubBuffer *This,
  7908.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7909.     PRPC_MESSAGE _pRpcMessage,
  7910.     DWORD *_pdwStubPhase);
  7911.  
  7912.  
  7913.  
  7914. #endif     /* __ICaptureGraphBuilder_INTERFACE_DEFINED__ */
  7915.  
  7916.  
  7917. #ifndef __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
  7918. #define __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
  7919.  
  7920. /* interface IAMCopyCaptureFileProgress */
  7921. /* [unique][uuid][object] */ 
  7922.  
  7923.  
  7924. EXTERN_C const IID IID_IAMCopyCaptureFileProgress;
  7925.  
  7926. #if defined(__cplusplus) && !defined(CINTERFACE)
  7927.     
  7928.     MIDL_INTERFACE("670d1d20-a068-11d0-b3f0-00aa003761c5")
  7929.     IAMCopyCaptureFileProgress : public IUnknown
  7930.     {
  7931.     public:
  7932.         virtual HRESULT STDMETHODCALLTYPE Progress( 
  7933.             /* [in] */ int iProgress) = 0;
  7934.         
  7935.     };
  7936.     
  7937. #else     /* C style interface */
  7938.  
  7939.     typedef struct IAMCopyCaptureFileProgressVtbl
  7940.     {
  7941.         BEGIN_INTERFACE
  7942.         
  7943.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  7944.             IAMCopyCaptureFileProgress * This,
  7945.             /* [in] */ REFIID riid,
  7946.             /* [iid_is][out] */ void **ppvObject);
  7947.         
  7948.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  7949.             IAMCopyCaptureFileProgress * This);
  7950.         
  7951.         ULONG ( STDMETHODCALLTYPE *Release )( 
  7952.             IAMCopyCaptureFileProgress * This);
  7953.         
  7954.         HRESULT ( STDMETHODCALLTYPE *Progress )( 
  7955.             IAMCopyCaptureFileProgress * This,
  7956.             /* [in] */ int iProgress);
  7957.         
  7958.         END_INTERFACE
  7959.     } IAMCopyCaptureFileProgressVtbl;
  7960.  
  7961.     interface IAMCopyCaptureFileProgress
  7962.     {
  7963.         CONST_VTBL struct IAMCopyCaptureFileProgressVtbl *lpVtbl;
  7964.     };
  7965.  
  7966.     
  7967.  
  7968. #ifdef COBJMACROS
  7969.  
  7970.  
  7971. #define IAMCopyCaptureFileProgress_QueryInterface(This,riid,ppvObject)    \
  7972.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7973.  
  7974. #define IAMCopyCaptureFileProgress_AddRef(This)    \
  7975.     (This)->lpVtbl -> AddRef(This)
  7976.  
  7977. #define IAMCopyCaptureFileProgress_Release(This)    \
  7978.     (This)->lpVtbl -> Release(This)
  7979.  
  7980.  
  7981. #define IAMCopyCaptureFileProgress_Progress(This,iProgress)    \
  7982.     (This)->lpVtbl -> Progress(This,iProgress)
  7983.  
  7984. #endif /* COBJMACROS */
  7985.  
  7986.  
  7987. #endif     /* C style interface */
  7988.  
  7989.  
  7990.  
  7991. HRESULT STDMETHODCALLTYPE IAMCopyCaptureFileProgress_Progress_Proxy( 
  7992.     IAMCopyCaptureFileProgress * This,
  7993.     /* [in] */ int iProgress);
  7994.  
  7995.  
  7996. void __RPC_STUB IAMCopyCaptureFileProgress_Progress_Stub(
  7997.     IRpcStubBuffer *This,
  7998.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7999.     PRPC_MESSAGE _pRpcMessage,
  8000.     DWORD *_pdwStubPhase);
  8001.  
  8002.  
  8003.  
  8004. #endif     /* __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ */
  8005.  
  8006.  
  8007. #ifndef __ICaptureGraphBuilder2_INTERFACE_DEFINED__
  8008. #define __ICaptureGraphBuilder2_INTERFACE_DEFINED__
  8009.  
  8010. /* interface ICaptureGraphBuilder2 */
  8011. /* [unique][uuid][object] */ 
  8012.  
  8013.  
  8014. EXTERN_C const IID IID_ICaptureGraphBuilder2;
  8015.  
  8016. #if defined(__cplusplus) && !defined(CINTERFACE)
  8017.     
  8018.     MIDL_INTERFACE("93E5A4E0-2D50-11d2-ABFA-00A0C9C6E38D")
  8019.     ICaptureGraphBuilder2 : public IUnknown
  8020.     {
  8021.     public:
  8022.         virtual HRESULT STDMETHODCALLTYPE SetFiltergraph( 
  8023.             /* [in] */ IGraphBuilder *pfg) = 0;
  8024.         
  8025.         virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( 
  8026.             /* [out] */ IGraphBuilder **ppfg) = 0;
  8027.         
  8028.         virtual HRESULT STDMETHODCALLTYPE SetOutputFileName( 
  8029.             /* [in] */ const GUID *pType,
  8030.             /* [in] */ LPCOLESTR lpstrFile,
  8031.             /* [out] */ IBaseFilter **ppf,
  8032.             /* [out] */ IFileSinkFilter **ppSink) = 0;
  8033.         
  8034.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE FindInterface( 
  8035.             /* [in] */ const GUID *pCategory,
  8036.             /* [in] */ const GUID *pType,
  8037.             /* [in] */ IBaseFilter *pf,
  8038.             /* [in] */ REFIID riid,
  8039.             /* [out] */ void **ppint) = 0;
  8040.         
  8041.         virtual HRESULT STDMETHODCALLTYPE RenderStream( 
  8042.             /* [in] */ const GUID *pCategory,
  8043.             /* [in] */ const GUID *pType,
  8044.             /* [in] */ IUnknown *pSource,
  8045.             /* [in] */ IBaseFilter *pfCompressor,
  8046.             /* [in] */ IBaseFilter *pfRenderer) = 0;
  8047.         
  8048.         virtual HRESULT STDMETHODCALLTYPE ControlStream( 
  8049.             /* [in] */ const GUID *pCategory,
  8050.             /* [in] */ const GUID *pType,
  8051.             /* [in] */ IBaseFilter *pFilter,
  8052.             /* [in] */ REFERENCE_TIME *pstart,
  8053.             /* [in] */ REFERENCE_TIME *pstop,
  8054.             /* [in] */ WORD wStartCookie,
  8055.             /* [in] */ WORD wStopCookie) = 0;
  8056.         
  8057.         virtual HRESULT STDMETHODCALLTYPE AllocCapFile( 
  8058.             /* [in] */ LPCOLESTR lpstr,
  8059.             /* [in] */ DWORDLONG dwlSize) = 0;
  8060.         
  8061.         virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile( 
  8062.             /* [in] */ LPOLESTR lpwstrOld,
  8063.             /* [in] */ LPOLESTR lpwstrNew,
  8064.             /* [in] */ int fAllowEscAbort,
  8065.             /* [in] */ IAMCopyCaptureFileProgress *pCallback) = 0;
  8066.         
  8067.         virtual HRESULT STDMETHODCALLTYPE FindPin( 
  8068.             /* [in] */ IUnknown *pSource,
  8069.             /* [in] */ PIN_DIRECTION pindir,
  8070.             /* [in] */ const GUID *pCategory,
  8071.             /* [in] */ const GUID *pType,
  8072.             /* [in] */ BOOL fUnconnected,
  8073.             /* [in] */ int num,
  8074.             /* [out] */ IPin **ppPin) = 0;
  8075.         
  8076.     };
  8077.     
  8078. #else     /* C style interface */
  8079.  
  8080.     typedef struct ICaptureGraphBuilder2Vtbl
  8081.     {
  8082.         BEGIN_INTERFACE
  8083.         
  8084.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  8085.             ICaptureGraphBuilder2 * This,
  8086.             /* [in] */ REFIID riid,
  8087.             /* [iid_is][out] */ void **ppvObject);
  8088.         
  8089.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  8090.             ICaptureGraphBuilder2 * This);
  8091.         
  8092.         ULONG ( STDMETHODCALLTYPE *Release )( 
  8093.             ICaptureGraphBuilder2 * This);
  8094.         
  8095.         HRESULT ( STDMETHODCALLTYPE *SetFiltergraph )( 
  8096.             ICaptureGraphBuilder2 * This,
  8097.             /* [in] */ IGraphBuilder *pfg);
  8098.         
  8099.         HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )( 
  8100.             ICaptureGraphBuilder2 * This,
  8101.             /* [out] */ IGraphBuilder **ppfg);
  8102.         
  8103.         HRESULT ( STDMETHODCALLTYPE *SetOutputFileName )( 
  8104.             ICaptureGraphBuilder2 * This,
  8105.             /* [in] */ const GUID *pType,
  8106.             /* [in] */ LPCOLESTR lpstrFile,
  8107.             /* [out] */ IBaseFilter **ppf,
  8108.             /* [out] */ IFileSinkFilter **ppSink);
  8109.         
  8110.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *FindInterface )( 
  8111.             ICaptureGraphBuilder2 * This,
  8112.             /* [in] */ const GUID *pCategory,
  8113.             /* [in] */ const GUID *pType,
  8114.             /* [in] */ IBaseFilter *pf,
  8115.             /* [in] */ REFIID riid,
  8116.             /* [out] */ void **ppint);
  8117.         
  8118.         HRESULT ( STDMETHODCALLTYPE *RenderStream )( 
  8119.             ICaptureGraphBuilder2 * This,
  8120.             /* [in] */ const GUID *pCategory,
  8121.             /* [in] */ const GUID *pType,
  8122.             /* [in] */ IUnknown *pSource,
  8123.             /* [in] */ IBaseFilter *pfCompressor,
  8124.             /* [in] */ IBaseFilter *pfRenderer);
  8125.         
  8126.         HRESULT ( STDMETHODCALLTYPE *ControlStream )( 
  8127.             ICaptureGraphBuilder2 * This,
  8128.             /* [in] */ const GUID *pCategory,
  8129.             /* [in] */ const GUID *pType,
  8130.             /* [in] */ IBaseFilter *pFilter,
  8131.             /* [in] */ REFERENCE_TIME *pstart,
  8132.             /* [in] */ REFERENCE_TIME *pstop,
  8133.             /* [in] */ WORD wStartCookie,
  8134.             /* [in] */ WORD wStopCookie);
  8135.         
  8136.         HRESULT ( STDMETHODCALLTYPE *AllocCapFile )( 
  8137.             ICaptureGraphBuilder2 * This,
  8138.             /* [in] */ LPCOLESTR lpstr,
  8139.             /* [in] */ DWORDLONG dwlSize);
  8140.         
  8141.         HRESULT ( STDMETHODCALLTYPE *CopyCaptureFile )( 
  8142.             ICaptureGraphBuilder2 * This,
  8143.             /* [in] */ LPOLESTR lpwstrOld,
  8144.             /* [in] */ LPOLESTR lpwstrNew,
  8145.             /* [in] */ int fAllowEscAbort,
  8146.             /* [in] */ IAMCopyCaptureFileProgress *pCallback);
  8147.         
  8148.         HRESULT ( STDMETHODCALLTYPE *FindPin )( 
  8149.             ICaptureGraphBuilder2 * This,
  8150.             /* [in] */ IUnknown *pSource,
  8151.             /* [in] */ PIN_DIRECTION pindir,
  8152.             /* [in] */ const GUID *pCategory,
  8153.             /* [in] */ const GUID *pType,
  8154.             /* [in] */ BOOL fUnconnected,
  8155.             /* [in] */ int num,
  8156.             /* [out] */ IPin **ppPin);
  8157.         
  8158.         END_INTERFACE
  8159.     } ICaptureGraphBuilder2Vtbl;
  8160.  
  8161.     interface ICaptureGraphBuilder2
  8162.     {
  8163.         CONST_VTBL struct ICaptureGraphBuilder2Vtbl *lpVtbl;
  8164.     };
  8165.  
  8166.     
  8167.  
  8168. #ifdef COBJMACROS
  8169.  
  8170.  
  8171. #define ICaptureGraphBuilder2_QueryInterface(This,riid,ppvObject)    \
  8172.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8173.  
  8174. #define ICaptureGraphBuilder2_AddRef(This)    \
  8175.     (This)->lpVtbl -> AddRef(This)
  8176.  
  8177. #define ICaptureGraphBuilder2_Release(This)    \
  8178.     (This)->lpVtbl -> Release(This)
  8179.  
  8180.  
  8181. #define ICaptureGraphBuilder2_SetFiltergraph(This,pfg)    \
  8182.     (This)->lpVtbl -> SetFiltergraph(This,pfg)
  8183.  
  8184. #define ICaptureGraphBuilder2_GetFiltergraph(This,ppfg)    \
  8185.     (This)->lpVtbl -> GetFiltergraph(This,ppfg)
  8186.  
  8187. #define ICaptureGraphBuilder2_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)    \
  8188.     (This)->lpVtbl -> SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)
  8189.  
  8190. #define ICaptureGraphBuilder2_FindInterface(This,pCategory,pType,pf,riid,ppint)    \
  8191.     (This)->lpVtbl -> FindInterface(This,pCategory,pType,pf,riid,ppint)
  8192.  
  8193. #define ICaptureGraphBuilder2_RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer)    \
  8194.     (This)->lpVtbl -> RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer)
  8195.  
  8196. #define ICaptureGraphBuilder2_ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie)    \
  8197.     (This)->lpVtbl -> ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie)
  8198.  
  8199. #define ICaptureGraphBuilder2_AllocCapFile(This,lpstr,dwlSize)    \
  8200.     (This)->lpVtbl -> AllocCapFile(This,lpstr,dwlSize)
  8201.  
  8202. #define ICaptureGraphBuilder2_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)    \
  8203.     (This)->lpVtbl -> CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)
  8204.  
  8205. #define ICaptureGraphBuilder2_FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin)    \
  8206.     (This)->lpVtbl -> FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin)
  8207.  
  8208. #endif /* COBJMACROS */
  8209.  
  8210.  
  8211. #endif     /* C style interface */
  8212.  
  8213.  
  8214.  
  8215. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetFiltergraph_Proxy( 
  8216.     ICaptureGraphBuilder2 * This,
  8217.     /* [in] */ IGraphBuilder *pfg);
  8218.  
  8219.  
  8220. void __RPC_STUB ICaptureGraphBuilder2_SetFiltergraph_Stub(
  8221.     IRpcStubBuffer *This,
  8222.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8223.     PRPC_MESSAGE _pRpcMessage,
  8224.     DWORD *_pdwStubPhase);
  8225.  
  8226.  
  8227. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_GetFiltergraph_Proxy( 
  8228.     ICaptureGraphBuilder2 * This,
  8229.     /* [out] */ IGraphBuilder **ppfg);
  8230.  
  8231.  
  8232. void __RPC_STUB ICaptureGraphBuilder2_GetFiltergraph_Stub(
  8233.     IRpcStubBuffer *This,
  8234.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8235.     PRPC_MESSAGE _pRpcMessage,
  8236.     DWORD *_pdwStubPhase);
  8237.  
  8238.  
  8239. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetOutputFileName_Proxy( 
  8240.     ICaptureGraphBuilder2 * This,
  8241.     /* [in] */ const GUID *pType,
  8242.     /* [in] */ LPCOLESTR lpstrFile,
  8243.     /* [out] */ IBaseFilter **ppf,
  8244.     /* [out] */ IFileSinkFilter **ppSink);
  8245.  
  8246.  
  8247. void __RPC_STUB ICaptureGraphBuilder2_SetOutputFileName_Stub(
  8248.     IRpcStubBuffer *This,
  8249.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8250.     PRPC_MESSAGE _pRpcMessage,
  8251.     DWORD *_pdwStubPhase);
  8252.  
  8253.  
  8254. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RemoteFindInterface_Proxy( 
  8255.     ICaptureGraphBuilder2 * This,
  8256.     /* [in] */ const GUID *pCategory,
  8257.     /* [in] */ const GUID *pType,
  8258.     /* [in] */ IBaseFilter *pf,
  8259.     /* [in] */ REFIID riid,
  8260.     /* [out] */ IUnknown **ppint);
  8261.  
  8262.  
  8263. void __RPC_STUB ICaptureGraphBuilder2_RemoteFindInterface_Stub(
  8264.     IRpcStubBuffer *This,
  8265.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8266.     PRPC_MESSAGE _pRpcMessage,
  8267.     DWORD *_pdwStubPhase);
  8268.  
  8269.  
  8270. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RenderStream_Proxy( 
  8271.     ICaptureGraphBuilder2 * This,
  8272.     /* [in] */ const GUID *pCategory,
  8273.     /* [in] */ const GUID *pType,
  8274.     /* [in] */ IUnknown *pSource,
  8275.     /* [in] */ IBaseFilter *pfCompressor,
  8276.     /* [in] */ IBaseFilter *pfRenderer);
  8277.  
  8278.  
  8279. void __RPC_STUB ICaptureGraphBuilder2_RenderStream_Stub(
  8280.     IRpcStubBuffer *This,
  8281.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8282.     PRPC_MESSAGE _pRpcMessage,
  8283.     DWORD *_pdwStubPhase);
  8284.  
  8285.  
  8286. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_ControlStream_Proxy( 
  8287.     ICaptureGraphBuilder2 * This,
  8288.     /* [in] */ const GUID *pCategory,
  8289.     /* [in] */ const GUID *pType,
  8290.     /* [in] */ IBaseFilter *pFilter,
  8291.     /* [in] */ REFERENCE_TIME *pstart,
  8292.     /* [in] */ REFERENCE_TIME *pstop,
  8293.     /* [in] */ WORD wStartCookie,
  8294.     /* [in] */ WORD wStopCookie);
  8295.  
  8296.  
  8297. void __RPC_STUB ICaptureGraphBuilder2_ControlStream_Stub(
  8298.     IRpcStubBuffer *This,
  8299.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8300.     PRPC_MESSAGE _pRpcMessage,
  8301.     DWORD *_pdwStubPhase);
  8302.  
  8303.  
  8304. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_AllocCapFile_Proxy( 
  8305.     ICaptureGraphBuilder2 * This,
  8306.     /* [in] */ LPCOLESTR lpstr,
  8307.     /* [in] */ DWORDLONG dwlSize);
  8308.  
  8309.  
  8310. void __RPC_STUB ICaptureGraphBuilder2_AllocCapFile_Stub(
  8311.     IRpcStubBuffer *This,
  8312.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8313.     PRPC_MESSAGE _pRpcMessage,
  8314.     DWORD *_pdwStubPhase);
  8315.  
  8316.  
  8317. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_CopyCaptureFile_Proxy( 
  8318.     ICaptureGraphBuilder2 * This,
  8319.     /* [in] */ LPOLESTR lpwstrOld,
  8320.     /* [in] */ LPOLESTR lpwstrNew,
  8321.     /* [in] */ int fAllowEscAbort,
  8322.     /* [in] */ IAMCopyCaptureFileProgress *pCallback);
  8323.  
  8324.  
  8325. void __RPC_STUB ICaptureGraphBuilder2_CopyCaptureFile_Stub(
  8326.     IRpcStubBuffer *This,
  8327.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8328.     PRPC_MESSAGE _pRpcMessage,
  8329.     DWORD *_pdwStubPhase);
  8330.  
  8331.  
  8332. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindPin_Proxy( 
  8333.     ICaptureGraphBuilder2 * This,
  8334.     /* [in] */ IUnknown *pSource,
  8335.     /* [in] */ PIN_DIRECTION pindir,
  8336.     /* [in] */ const GUID *pCategory,
  8337.     /* [in] */ const GUID *pType,
  8338.     /* [in] */ BOOL fUnconnected,
  8339.     /* [in] */ int num,
  8340.     /* [out] */ IPin **ppPin);
  8341.  
  8342.  
  8343. void __RPC_STUB ICaptureGraphBuilder2_FindPin_Stub(
  8344.     IRpcStubBuffer *This,
  8345.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8346.     PRPC_MESSAGE _pRpcMessage,
  8347.     DWORD *_pdwStubPhase);
  8348.  
  8349.  
  8350.  
  8351. #endif     /* __ICaptureGraphBuilder2_INTERFACE_DEFINED__ */
  8352.  
  8353.  
  8354. /* interface __MIDL_itf_strmif_0149 */
  8355. /* [local] */ 
  8356.  
  8357.  
  8358. enum _AM_RENSDEREXFLAGS
  8359.     {    AM_RENDEREX_RENDERTOEXISTINGRENDERERS    = 0x1
  8360.     } ;
  8361.  
  8362.  
  8363. extern RPC_IF_HANDLE __MIDL_itf_strmif_0149_v0_0_c_ifspec;
  8364. extern RPC_IF_HANDLE __MIDL_itf_strmif_0149_v0_0_s_ifspec;
  8365.  
  8366. #ifndef __IFilterGraph2_INTERFACE_DEFINED__
  8367. #define __IFilterGraph2_INTERFACE_DEFINED__
  8368.  
  8369. /* interface IFilterGraph2 */
  8370. /* [unique][uuid][object] */ 
  8371.  
  8372.  
  8373. EXTERN_C const IID IID_IFilterGraph2;
  8374.  
  8375. #if defined(__cplusplus) && !defined(CINTERFACE)
  8376.     
  8377.     MIDL_INTERFACE("36b73882-c2c8-11cf-8b46-00805f6cef60")
  8378.     IFilterGraph2 : public IGraphBuilder
  8379.     {
  8380.     public:
  8381.         virtual HRESULT STDMETHODCALLTYPE AddSourceFilterForMoniker( 
  8382.             /* [in] */ IMoniker *pMoniker,
  8383.             /* [in] */ IBindCtx *pCtx,
  8384.             /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  8385.             /* [out] */ IBaseFilter **ppFilter) = 0;
  8386.         
  8387.         virtual HRESULT STDMETHODCALLTYPE ReconnectEx( 
  8388.             /* [in] */ IPin *ppin,
  8389.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  8390.         
  8391.         virtual HRESULT STDMETHODCALLTYPE RenderEx( 
  8392.             /* [in] */ IPin *pPinOut,
  8393.             /* [in] */ DWORD dwFlags,
  8394.             /* [out][in] */ DWORD *pvContext) = 0;
  8395.         
  8396.     };
  8397.     
  8398. #else     /* C style interface */
  8399.  
  8400.     typedef struct IFilterGraph2Vtbl
  8401.     {
  8402.         BEGIN_INTERFACE
  8403.         
  8404.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  8405.             IFilterGraph2 * This,
  8406.             /* [in] */ REFIID riid,
  8407.             /* [iid_is][out] */ void **ppvObject);
  8408.         
  8409.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  8410.             IFilterGraph2 * This);
  8411.         
  8412.         ULONG ( STDMETHODCALLTYPE *Release )( 
  8413.             IFilterGraph2 * This);
  8414.         
  8415.         HRESULT ( STDMETHODCALLTYPE *AddFilter )( 
  8416.             IFilterGraph2 * This,
  8417.             /* [in] */ IBaseFilter *pFilter,
  8418.             /* [string][in] */ LPCWSTR pName);
  8419.         
  8420.         HRESULT ( STDMETHODCALLTYPE *RemoveFilter )( 
  8421.             IFilterGraph2 * This,
  8422.             /* [in] */ IBaseFilter *pFilter);
  8423.         
  8424.         HRESULT ( STDMETHODCALLTYPE *EnumFilters )( 
  8425.             IFilterGraph2 * This,
  8426.             /* [out] */ IEnumFilters **ppEnum);
  8427.         
  8428.         HRESULT ( STDMETHODCALLTYPE *FindFilterByName )( 
  8429.             IFilterGraph2 * This,
  8430.             /* [string][in] */ LPCWSTR pName,
  8431.             /* [out] */ IBaseFilter **ppFilter);
  8432.         
  8433.         HRESULT ( STDMETHODCALLTYPE *ConnectDirect )( 
  8434.             IFilterGraph2 * This,
  8435.             /* [in] */ IPin *ppinOut,
  8436.             /* [in] */ IPin *ppinIn,
  8437.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  8438.         
  8439.         HRESULT ( STDMETHODCALLTYPE *Reconnect )( 
  8440.             IFilterGraph2 * This,
  8441.             /* [in] */ IPin *ppin);
  8442.         
  8443.         HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  8444.             IFilterGraph2 * This,
  8445.             /* [in] */ IPin *ppin);
  8446.         
  8447.         HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )( 
  8448.             IFilterGraph2 * This);
  8449.         
  8450.         HRESULT ( STDMETHODCALLTYPE *Connect )( 
  8451.             IFilterGraph2 * This,
  8452.             /* [in] */ IPin *ppinOut,
  8453.             /* [in] */ IPin *ppinIn);
  8454.         
  8455.         HRESULT ( STDMETHODCALLTYPE *Render )( 
  8456.             IFilterGraph2 * This,
  8457.             /* [in] */ IPin *ppinOut);
  8458.         
  8459.         HRESULT ( STDMETHODCALLTYPE *RenderFile )( 
  8460.             IFilterGraph2 * This,
  8461.             /* [in] */ LPCWSTR lpcwstrFile,
  8462.             /* [unique][in] */ LPCWSTR lpcwstrPlayList);
  8463.         
  8464.         HRESULT ( STDMETHODCALLTYPE *AddSourceFilter )( 
  8465.             IFilterGraph2 * This,
  8466.             /* [in] */ LPCWSTR lpcwstrFileName,
  8467.             /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  8468.             /* [out] */ IBaseFilter **ppFilter);
  8469.         
  8470.         HRESULT ( STDMETHODCALLTYPE *SetLogFile )( 
  8471.             IFilterGraph2 * This,
  8472.             /* [in] */ DWORD_PTR hFile);
  8473.         
  8474.         HRESULT ( STDMETHODCALLTYPE *Abort )( 
  8475.             IFilterGraph2 * This);
  8476.         
  8477.         HRESULT ( STDMETHODCALLTYPE *ShouldOperationContinue )( 
  8478.             IFilterGraph2 * This);
  8479.         
  8480.         HRESULT ( STDMETHODCALLTYPE *AddSourceFilterForMoniker )( 
  8481.             IFilterGraph2 * This,
  8482.             /* [in] */ IMoniker *pMoniker,
  8483.             /* [in] */ IBindCtx *pCtx,
  8484.             /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  8485.             /* [out] */ IBaseFilter **ppFilter);
  8486.         
  8487.         HRESULT ( STDMETHODCALLTYPE *ReconnectEx )( 
  8488.             IFilterGraph2 * This,
  8489.             /* [in] */ IPin *ppin,
  8490.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  8491.         
  8492.         HRESULT ( STDMETHODCALLTYPE *RenderEx )( 
  8493.             IFilterGraph2 * This,
  8494.             /* [in] */ IPin *pPinOut,
  8495.             /* [in] */ DWORD dwFlags,
  8496.             /* [out][in] */ DWORD *pvContext);
  8497.         
  8498.         END_INTERFACE
  8499.     } IFilterGraph2Vtbl;
  8500.  
  8501.     interface IFilterGraph2
  8502.     {
  8503.         CONST_VTBL struct IFilterGraph2Vtbl *lpVtbl;
  8504.     };
  8505.  
  8506.     
  8507.  
  8508. #ifdef COBJMACROS
  8509.  
  8510.  
  8511. #define IFilterGraph2_QueryInterface(This,riid,ppvObject)    \
  8512.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8513.  
  8514. #define IFilterGraph2_AddRef(This)    \
  8515.     (This)->lpVtbl -> AddRef(This)
  8516.  
  8517. #define IFilterGraph2_Release(This)    \
  8518.     (This)->lpVtbl -> Release(This)
  8519.  
  8520.  
  8521. #define IFilterGraph2_AddFilter(This,pFilter,pName)    \
  8522.     (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  8523.  
  8524. #define IFilterGraph2_RemoveFilter(This,pFilter)    \
  8525.     (This)->lpVtbl -> RemoveFilter(This,pFilter)
  8526.  
  8527. #define IFilterGraph2_EnumFilters(This,ppEnum)    \
  8528.     (This)->lpVtbl -> EnumFilters(This,ppEnum)
  8529.  
  8530. #define IFilterGraph2_FindFilterByName(This,pName,ppFilter)    \
  8531.     (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  8532.  
  8533. #define IFilterGraph2_ConnectDirect(This,ppinOut,ppinIn,pmt)    \
  8534.     (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  8535.  
  8536. #define IFilterGraph2_Reconnect(This,ppin)    \
  8537.     (This)->lpVtbl -> Reconnect(This,ppin)
  8538.  
  8539. #define IFilterGraph2_Disconnect(This,ppin)    \
  8540.     (This)->lpVtbl -> Disconnect(This,ppin)
  8541.  
  8542. #define IFilterGraph2_SetDefaultSyncSource(This)    \
  8543.     (This)->lpVtbl -> SetDefaultSyncSource(This)
  8544.  
  8545.  
  8546. #define IFilterGraph2_Connect(This,ppinOut,ppinIn)    \
  8547.     (This)->lpVtbl -> Connect(This,ppinOut,ppinIn)
  8548.  
  8549. #define IFilterGraph2_Render(This,ppinOut)    \
  8550.     (This)->lpVtbl -> Render(This,ppinOut)
  8551.  
  8552. #define IFilterGraph2_RenderFile(This,lpcwstrFile,lpcwstrPlayList)    \
  8553.     (This)->lpVtbl -> RenderFile(This,lpcwstrFile,lpcwstrPlayList)
  8554.  
  8555. #define IFilterGraph2_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)    \
  8556.     (This)->lpVtbl -> AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
  8557.  
  8558. #define IFilterGraph2_SetLogFile(This,hFile)    \
  8559.     (This)->lpVtbl -> SetLogFile(This,hFile)
  8560.  
  8561. #define IFilterGraph2_Abort(This)    \
  8562.     (This)->lpVtbl -> Abort(This)
  8563.  
  8564. #define IFilterGraph2_ShouldOperationContinue(This)    \
  8565.     (This)->lpVtbl -> ShouldOperationContinue(This)
  8566.  
  8567.  
  8568. #define IFilterGraph2_AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter)    \
  8569.     (This)->lpVtbl -> AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter)
  8570.  
  8571. #define IFilterGraph2_ReconnectEx(This,ppin,pmt)    \
  8572.     (This)->lpVtbl -> ReconnectEx(This,ppin,pmt)
  8573.  
  8574. #define IFilterGraph2_RenderEx(This,pPinOut,dwFlags,pvContext)    \
  8575.     (This)->lpVtbl -> RenderEx(This,pPinOut,dwFlags,pvContext)
  8576.  
  8577. #endif /* COBJMACROS */
  8578.  
  8579.  
  8580. #endif     /* C style interface */
  8581.  
  8582.  
  8583.  
  8584. HRESULT STDMETHODCALLTYPE IFilterGraph2_AddSourceFilterForMoniker_Proxy( 
  8585.     IFilterGraph2 * This,
  8586.     /* [in] */ IMoniker *pMoniker,
  8587.     /* [in] */ IBindCtx *pCtx,
  8588.     /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  8589.     /* [out] */ IBaseFilter **ppFilter);
  8590.  
  8591.  
  8592. void __RPC_STUB IFilterGraph2_AddSourceFilterForMoniker_Stub(
  8593.     IRpcStubBuffer *This,
  8594.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8595.     PRPC_MESSAGE _pRpcMessage,
  8596.     DWORD *_pdwStubPhase);
  8597.  
  8598.  
  8599. HRESULT STDMETHODCALLTYPE IFilterGraph2_ReconnectEx_Proxy( 
  8600.     IFilterGraph2 * This,
  8601.     /* [in] */ IPin *ppin,
  8602.     /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  8603.  
  8604.  
  8605. void __RPC_STUB IFilterGraph2_ReconnectEx_Stub(
  8606.     IRpcStubBuffer *This,
  8607.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8608.     PRPC_MESSAGE _pRpcMessage,
  8609.     DWORD *_pdwStubPhase);
  8610.  
  8611.  
  8612. HRESULT STDMETHODCALLTYPE IFilterGraph2_RenderEx_Proxy( 
  8613.     IFilterGraph2 * This,
  8614.     /* [in] */ IPin *pPinOut,
  8615.     /* [in] */ DWORD dwFlags,
  8616.     /* [out][in] */ DWORD *pvContext);
  8617.  
  8618.  
  8619. void __RPC_STUB IFilterGraph2_RenderEx_Stub(
  8620.     IRpcStubBuffer *This,
  8621.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8622.     PRPC_MESSAGE _pRpcMessage,
  8623.     DWORD *_pdwStubPhase);
  8624.  
  8625.  
  8626.  
  8627. #endif     /* __IFilterGraph2_INTERFACE_DEFINED__ */
  8628.  
  8629.  
  8630. #ifndef __IStreamBuilder_INTERFACE_DEFINED__
  8631. #define __IStreamBuilder_INTERFACE_DEFINED__
  8632.  
  8633. /* interface IStreamBuilder */
  8634. /* [unique][uuid][local][object] */ 
  8635.  
  8636.  
  8637. EXTERN_C const IID IID_IStreamBuilder;
  8638.  
  8639. #if defined(__cplusplus) && !defined(CINTERFACE)
  8640.     
  8641.     MIDL_INTERFACE("56a868bf-0ad4-11ce-b03a-0020af0ba770")
  8642.     IStreamBuilder : public IUnknown
  8643.     {
  8644.     public:
  8645.         virtual HRESULT STDMETHODCALLTYPE Render( 
  8646.             /* [in] */ IPin *ppinOut,
  8647.             /* [in] */ IGraphBuilder *pGraph) = 0;
  8648.         
  8649.         virtual HRESULT STDMETHODCALLTYPE Backout( 
  8650.             /* [in] */ IPin *ppinOut,
  8651.             /* [in] */ IGraphBuilder *pGraph) = 0;
  8652.         
  8653.     };
  8654.     
  8655. #else     /* C style interface */
  8656.  
  8657.     typedef struct IStreamBuilderVtbl
  8658.     {
  8659.         BEGIN_INTERFACE
  8660.         
  8661.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  8662.             IStreamBuilder * This,
  8663.             /* [in] */ REFIID riid,
  8664.             /* [iid_is][out] */ void **ppvObject);
  8665.         
  8666.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  8667.             IStreamBuilder * This);
  8668.         
  8669.         ULONG ( STDMETHODCALLTYPE *Release )( 
  8670.             IStreamBuilder * This);
  8671.         
  8672.         HRESULT ( STDMETHODCALLTYPE *Render )( 
  8673.             IStreamBuilder * This,
  8674.             /* [in] */ IPin *ppinOut,
  8675.             /* [in] */ IGraphBuilder *pGraph);
  8676.         
  8677.         HRESULT ( STDMETHODCALLTYPE *Backout )( 
  8678.             IStreamBuilder * This,
  8679.             /* [in] */ IPin *ppinOut,
  8680.             /* [in] */ IGraphBuilder *pGraph);
  8681.         
  8682.         END_INTERFACE
  8683.     } IStreamBuilderVtbl;
  8684.  
  8685.     interface IStreamBuilder
  8686.     {
  8687.         CONST_VTBL struct IStreamBuilderVtbl *lpVtbl;
  8688.     };
  8689.  
  8690.     
  8691.  
  8692. #ifdef COBJMACROS
  8693.  
  8694.  
  8695. #define IStreamBuilder_QueryInterface(This,riid,ppvObject)    \
  8696.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8697.  
  8698. #define IStreamBuilder_AddRef(This)    \
  8699.     (This)->lpVtbl -> AddRef(This)
  8700.  
  8701. #define IStreamBuilder_Release(This)    \
  8702.     (This)->lpVtbl -> Release(This)
  8703.  
  8704.  
  8705. #define IStreamBuilder_Render(This,ppinOut,pGraph)    \
  8706.     (This)->lpVtbl -> Render(This,ppinOut,pGraph)
  8707.  
  8708. #define IStreamBuilder_Backout(This,ppinOut,pGraph)    \
  8709.     (This)->lpVtbl -> Backout(This,ppinOut,pGraph)
  8710.  
  8711. #endif /* COBJMACROS */
  8712.  
  8713.  
  8714. #endif     /* C style interface */
  8715.  
  8716.  
  8717.  
  8718. HRESULT STDMETHODCALLTYPE IStreamBuilder_Render_Proxy( 
  8719.     IStreamBuilder * This,
  8720.     /* [in] */ IPin *ppinOut,
  8721.     /* [in] */ IGraphBuilder *pGraph);
  8722.  
  8723.  
  8724. void __RPC_STUB IStreamBuilder_Render_Stub(
  8725.     IRpcStubBuffer *This,
  8726.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8727.     PRPC_MESSAGE _pRpcMessage,
  8728.     DWORD *_pdwStubPhase);
  8729.  
  8730.  
  8731. HRESULT STDMETHODCALLTYPE IStreamBuilder_Backout_Proxy( 
  8732.     IStreamBuilder * This,
  8733.     /* [in] */ IPin *ppinOut,
  8734.     /* [in] */ IGraphBuilder *pGraph);
  8735.  
  8736.  
  8737. void __RPC_STUB IStreamBuilder_Backout_Stub(
  8738.     IRpcStubBuffer *This,
  8739.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8740.     PRPC_MESSAGE _pRpcMessage,
  8741.     DWORD *_pdwStubPhase);
  8742.  
  8743.  
  8744.  
  8745. #endif     /* __IStreamBuilder_INTERFACE_DEFINED__ */
  8746.  
  8747.  
  8748. #ifndef __IAsyncReader_INTERFACE_DEFINED__
  8749. #define __IAsyncReader_INTERFACE_DEFINED__
  8750.  
  8751. /* interface IAsyncReader */
  8752. /* [unique][uuid][object] */ 
  8753.  
  8754.  
  8755. EXTERN_C const IID IID_IAsyncReader;
  8756.  
  8757. #if defined(__cplusplus) && !defined(CINTERFACE)
  8758.     
  8759.     MIDL_INTERFACE("56a868aa-0ad4-11ce-b03a-0020af0ba770")
  8760.     IAsyncReader : public IUnknown
  8761.     {
  8762.     public:
  8763.         virtual HRESULT STDMETHODCALLTYPE RequestAllocator( 
  8764.             /* [in] */ IMemAllocator *pPreferred,
  8765.             /* [in] */ ALLOCATOR_PROPERTIES *pProps,
  8766.             /* [out] */ IMemAllocator **ppActual) = 0;
  8767.         
  8768.         virtual HRESULT STDMETHODCALLTYPE Request( 
  8769.             /* [in] */ IMediaSample *pSample,
  8770.             /* [in] */ DWORD_PTR dwUser) = 0;
  8771.         
  8772.         virtual HRESULT STDMETHODCALLTYPE WaitForNext( 
  8773.             /* [in] */ DWORD dwTimeout,
  8774.             /* [out] */ IMediaSample **ppSample,
  8775.             /* [out] */ DWORD_PTR *pdwUser) = 0;
  8776.         
  8777.         virtual HRESULT STDMETHODCALLTYPE SyncReadAligned( 
  8778.             /* [in] */ IMediaSample *pSample) = 0;
  8779.         
  8780.         virtual HRESULT STDMETHODCALLTYPE SyncRead( 
  8781.             /* [in] */ LONGLONG llPosition,
  8782.             /* [in] */ LONG lLength,
  8783.             /* [size_is][out] */ BYTE *pBuffer) = 0;
  8784.         
  8785.         virtual HRESULT STDMETHODCALLTYPE Length( 
  8786.             /* [out] */ LONGLONG *pTotal,
  8787.             /* [out] */ LONGLONG *pAvailable) = 0;
  8788.         
  8789.         virtual HRESULT STDMETHODCALLTYPE BeginFlush( void) = 0;
  8790.         
  8791.         virtual HRESULT STDMETHODCALLTYPE EndFlush( void) = 0;
  8792.         
  8793.     };
  8794.     
  8795. #else     /* C style interface */
  8796.  
  8797.     typedef struct IAsyncReaderVtbl
  8798.     {
  8799.         BEGIN_INTERFACE
  8800.         
  8801.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  8802.             IAsyncReader * This,
  8803.             /* [in] */ REFIID riid,
  8804.             /* [iid_is][out] */ void **ppvObject);
  8805.         
  8806.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  8807.             IAsyncReader * This);
  8808.         
  8809.         ULONG ( STDMETHODCALLTYPE *Release )( 
  8810.             IAsyncReader * This);
  8811.         
  8812.         HRESULT ( STDMETHODCALLTYPE *RequestAllocator )( 
  8813.             IAsyncReader * This,
  8814.             /* [in] */ IMemAllocator *pPreferred,
  8815.             /* [in] */ ALLOCATOR_PROPERTIES *pProps,
  8816.             /* [out] */ IMemAllocator **ppActual);
  8817.         
  8818.         HRESULT ( STDMETHODCALLTYPE *Request )( 
  8819.             IAsyncReader * This,
  8820.             /* [in] */ IMediaSample *pSample,
  8821.             /* [in] */ DWORD_PTR dwUser);
  8822.         
  8823.         HRESULT ( STDMETHODCALLTYPE *WaitForNext )( 
  8824.             IAsyncReader * This,
  8825.             /* [in] */ DWORD dwTimeout,
  8826.             /* [out] */ IMediaSample **ppSample,
  8827.             /* [out] */ DWORD_PTR *pdwUser);
  8828.         
  8829.         HRESULT ( STDMETHODCALLTYPE *SyncReadAligned )( 
  8830.             IAsyncReader * This,
  8831.             /* [in] */ IMediaSample *pSample);
  8832.         
  8833.         HRESULT ( STDMETHODCALLTYPE *SyncRead )( 
  8834.             IAsyncReader * This,
  8835.             /* [in] */ LONGLONG llPosition,
  8836.             /* [in] */ LONG lLength,
  8837.             /* [size_is][out] */ BYTE *pBuffer);
  8838.         
  8839.         HRESULT ( STDMETHODCALLTYPE *Length )( 
  8840.             IAsyncReader * This,
  8841.             /* [out] */ LONGLONG *pTotal,
  8842.             /* [out] */ LONGLONG *pAvailable);
  8843.         
  8844.         HRESULT ( STDMETHODCALLTYPE *BeginFlush )( 
  8845.             IAsyncReader * This);
  8846.         
  8847.         HRESULT ( STDMETHODCALLTYPE *EndFlush )( 
  8848.             IAsyncReader * This);
  8849.         
  8850.         END_INTERFACE
  8851.     } IAsyncReaderVtbl;
  8852.  
  8853.     interface IAsyncReader
  8854.     {
  8855.         CONST_VTBL struct IAsyncReaderVtbl *lpVtbl;
  8856.     };
  8857.  
  8858.     
  8859.  
  8860. #ifdef COBJMACROS
  8861.  
  8862.  
  8863. #define IAsyncReader_QueryInterface(This,riid,ppvObject)    \
  8864.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8865.  
  8866. #define IAsyncReader_AddRef(This)    \
  8867.     (This)->lpVtbl -> AddRef(This)
  8868.  
  8869. #define IAsyncReader_Release(This)    \
  8870.     (This)->lpVtbl -> Release(This)
  8871.  
  8872.  
  8873. #define IAsyncReader_RequestAllocator(This,pPreferred,pProps,ppActual)    \
  8874.     (This)->lpVtbl -> RequestAllocator(This,pPreferred,pProps,ppActual)
  8875.  
  8876. #define IAsyncReader_Request(This,pSample,dwUser)    \
  8877.     (This)->lpVtbl -> Request(This,pSample,dwUser)
  8878.  
  8879. #define IAsyncReader_WaitForNext(This,dwTimeout,ppSample,pdwUser)    \
  8880.     (This)->lpVtbl -> WaitForNext(This,dwTimeout,ppSample,pdwUser)
  8881.  
  8882. #define IAsyncReader_SyncReadAligned(This,pSample)    \
  8883.     (This)->lpVtbl -> SyncReadAligned(This,pSample)
  8884.  
  8885. #define IAsyncReader_SyncRead(This,llPosition,lLength,pBuffer)    \
  8886.     (This)->lpVtbl -> SyncRead(This,llPosition,lLength,pBuffer)
  8887.  
  8888. #define IAsyncReader_Length(This,pTotal,pAvailable)    \
  8889.     (This)->lpVtbl -> Length(This,pTotal,pAvailable)
  8890.  
  8891. #define IAsyncReader_BeginFlush(This)    \
  8892.     (This)->lpVtbl -> BeginFlush(This)
  8893.  
  8894. #define IAsyncReader_EndFlush(This)    \
  8895.     (This)->lpVtbl -> EndFlush(This)
  8896.  
  8897. #endif /* COBJMACROS */
  8898.  
  8899.  
  8900. #endif     /* C style interface */
  8901.  
  8902.  
  8903.  
  8904. HRESULT STDMETHODCALLTYPE IAsyncReader_RequestAllocator_Proxy( 
  8905.     IAsyncReader * This,
  8906.     /* [in] */ IMemAllocator *pPreferred,
  8907.     /* [in] */ ALLOCATOR_PROPERTIES *pProps,
  8908.     /* [out] */ IMemAllocator **ppActual);
  8909.  
  8910.  
  8911. void __RPC_STUB IAsyncReader_RequestAllocator_Stub(
  8912.     IRpcStubBuffer *This,
  8913.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8914.     PRPC_MESSAGE _pRpcMessage,
  8915.     DWORD *_pdwStubPhase);
  8916.  
  8917.  
  8918. HRESULT STDMETHODCALLTYPE IAsyncReader_Request_Proxy( 
  8919.     IAsyncReader * This,
  8920.     /* [in] */ IMediaSample *pSample,
  8921.     /* [in] */ DWORD_PTR dwUser);
  8922.  
  8923.  
  8924. void __RPC_STUB IAsyncReader_Request_Stub(
  8925.     IRpcStubBuffer *This,
  8926.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8927.     PRPC_MESSAGE _pRpcMessage,
  8928.     DWORD *_pdwStubPhase);
  8929.  
  8930.  
  8931. HRESULT STDMETHODCALLTYPE IAsyncReader_WaitForNext_Proxy( 
  8932.     IAsyncReader * This,
  8933.     /* [in] */ DWORD dwTimeout,
  8934.     /* [out] */ IMediaSample **ppSample,
  8935.     /* [out] */ DWORD_PTR *pdwUser);
  8936.  
  8937.  
  8938. void __RPC_STUB IAsyncReader_WaitForNext_Stub(
  8939.     IRpcStubBuffer *This,
  8940.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8941.     PRPC_MESSAGE _pRpcMessage,
  8942.     DWORD *_pdwStubPhase);
  8943.  
  8944.  
  8945. HRESULT STDMETHODCALLTYPE IAsyncReader_SyncReadAligned_Proxy( 
  8946.     IAsyncReader * This,
  8947.     /* [in] */ IMediaSample *pSample);
  8948.  
  8949.  
  8950. void __RPC_STUB IAsyncReader_SyncReadAligned_Stub(
  8951.     IRpcStubBuffer *This,
  8952.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8953.     PRPC_MESSAGE _pRpcMessage,
  8954.     DWORD *_pdwStubPhase);
  8955.  
  8956.  
  8957. HRESULT STDMETHODCALLTYPE IAsyncReader_SyncRead_Proxy( 
  8958.     IAsyncReader * This,
  8959.     /* [in] */ LONGLONG llPosition,
  8960.     /* [in] */ LONG lLength,
  8961.     /* [size_is][out] */ BYTE *pBuffer);
  8962.  
  8963.  
  8964. void __RPC_STUB IAsyncReader_SyncRead_Stub(
  8965.     IRpcStubBuffer *This,
  8966.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8967.     PRPC_MESSAGE _pRpcMessage,
  8968.     DWORD *_pdwStubPhase);
  8969.  
  8970.  
  8971. HRESULT STDMETHODCALLTYPE IAsyncReader_Length_Proxy( 
  8972.     IAsyncReader * This,
  8973.     /* [out] */ LONGLONG *pTotal,
  8974.     /* [out] */ LONGLONG *pAvailable);
  8975.  
  8976.  
  8977. void __RPC_STUB IAsyncReader_Length_Stub(
  8978.     IRpcStubBuffer *This,
  8979.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8980.     PRPC_MESSAGE _pRpcMessage,
  8981.     DWORD *_pdwStubPhase);
  8982.  
  8983.  
  8984. HRESULT STDMETHODCALLTYPE IAsyncReader_BeginFlush_Proxy( 
  8985.     IAsyncReader * This);
  8986.  
  8987.  
  8988. void __RPC_STUB IAsyncReader_BeginFlush_Stub(
  8989.     IRpcStubBuffer *This,
  8990.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8991.     PRPC_MESSAGE _pRpcMessage,
  8992.     DWORD *_pdwStubPhase);
  8993.  
  8994.  
  8995. HRESULT STDMETHODCALLTYPE IAsyncReader_EndFlush_Proxy( 
  8996.     IAsyncReader * This);
  8997.  
  8998.  
  8999. void __RPC_STUB IAsyncReader_EndFlush_Stub(
  9000.     IRpcStubBuffer *This,
  9001.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9002.     PRPC_MESSAGE _pRpcMessage,
  9003.     DWORD *_pdwStubPhase);
  9004.  
  9005.  
  9006.  
  9007. #endif     /* __IAsyncReader_INTERFACE_DEFINED__ */
  9008.  
  9009.  
  9010. #ifndef __IGraphVersion_INTERFACE_DEFINED__
  9011. #define __IGraphVersion_INTERFACE_DEFINED__
  9012.  
  9013. /* interface IGraphVersion */
  9014. /* [unique][uuid][object] */ 
  9015.  
  9016.  
  9017. EXTERN_C const IID IID_IGraphVersion;
  9018.  
  9019. #if defined(__cplusplus) && !defined(CINTERFACE)
  9020.     
  9021.     MIDL_INTERFACE("56a868ab-0ad4-11ce-b03a-0020af0ba770")
  9022.     IGraphVersion : public IUnknown
  9023.     {
  9024.     public:
  9025.         virtual HRESULT STDMETHODCALLTYPE QueryVersion( 
  9026.             LONG *pVersion) = 0;
  9027.         
  9028.     };
  9029.     
  9030. #else     /* C style interface */
  9031.  
  9032.     typedef struct IGraphVersionVtbl
  9033.     {
  9034.         BEGIN_INTERFACE
  9035.         
  9036.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  9037.             IGraphVersion * This,
  9038.             /* [in] */ REFIID riid,
  9039.             /* [iid_is][out] */ void **ppvObject);
  9040.         
  9041.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  9042.             IGraphVersion * This);
  9043.         
  9044.         ULONG ( STDMETHODCALLTYPE *Release )( 
  9045.             IGraphVersion * This);
  9046.         
  9047.         HRESULT ( STDMETHODCALLTYPE *QueryVersion )( 
  9048.             IGraphVersion * This,
  9049.             LONG *pVersion);
  9050.         
  9051.         END_INTERFACE
  9052.     } IGraphVersionVtbl;
  9053.  
  9054.     interface IGraphVersion
  9055.     {
  9056.         CONST_VTBL struct IGraphVersionVtbl *lpVtbl;
  9057.     };
  9058.  
  9059.     
  9060.  
  9061. #ifdef COBJMACROS
  9062.  
  9063.  
  9064. #define IGraphVersion_QueryInterface(This,riid,ppvObject)    \
  9065.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9066.  
  9067. #define IGraphVersion_AddRef(This)    \
  9068.     (This)->lpVtbl -> AddRef(This)
  9069.  
  9070. #define IGraphVersion_Release(This)    \
  9071.     (This)->lpVtbl -> Release(This)
  9072.  
  9073.  
  9074. #define IGraphVersion_QueryVersion(This,pVersion)    \
  9075.     (This)->lpVtbl -> QueryVersion(This,pVersion)
  9076.  
  9077. #endif /* COBJMACROS */
  9078.  
  9079.  
  9080. #endif     /* C style interface */
  9081.  
  9082.  
  9083.  
  9084. HRESULT STDMETHODCALLTYPE IGraphVersion_QueryVersion_Proxy( 
  9085.     IGraphVersion * This,
  9086.     LONG *pVersion);
  9087.  
  9088.  
  9089. void __RPC_STUB IGraphVersion_QueryVersion_Stub(
  9090.     IRpcStubBuffer *This,
  9091.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9092.     PRPC_MESSAGE _pRpcMessage,
  9093.     DWORD *_pdwStubPhase);
  9094.  
  9095.  
  9096.  
  9097. #endif     /* __IGraphVersion_INTERFACE_DEFINED__ */
  9098.  
  9099.  
  9100. #ifndef __IResourceConsumer_INTERFACE_DEFINED__
  9101. #define __IResourceConsumer_INTERFACE_DEFINED__
  9102.  
  9103. /* interface IResourceConsumer */
  9104. /* [unique][uuid][object] */ 
  9105.  
  9106.  
  9107. EXTERN_C const IID IID_IResourceConsumer;
  9108.  
  9109. #if defined(__cplusplus) && !defined(CINTERFACE)
  9110.     
  9111.     MIDL_INTERFACE("56a868ad-0ad4-11ce-b03a-0020af0ba770")
  9112.     IResourceConsumer : public IUnknown
  9113.     {
  9114.     public:
  9115.         virtual HRESULT STDMETHODCALLTYPE AcquireResource( 
  9116.             /* [in] */ LONG idResource) = 0;
  9117.         
  9118.         virtual HRESULT STDMETHODCALLTYPE ReleaseResource( 
  9119.             /* [in] */ LONG idResource) = 0;
  9120.         
  9121.     };
  9122.     
  9123. #else     /* C style interface */
  9124.  
  9125.     typedef struct IResourceConsumerVtbl
  9126.     {
  9127.         BEGIN_INTERFACE
  9128.         
  9129.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  9130.             IResourceConsumer * This,
  9131.             /* [in] */ REFIID riid,
  9132.             /* [iid_is][out] */ void **ppvObject);
  9133.         
  9134.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  9135.             IResourceConsumer * This);
  9136.         
  9137.         ULONG ( STDMETHODCALLTYPE *Release )( 
  9138.             IResourceConsumer * This);
  9139.         
  9140.         HRESULT ( STDMETHODCALLTYPE *AcquireResource )( 
  9141.             IResourceConsumer * This,
  9142.             /* [in] */ LONG idResource);
  9143.         
  9144.         HRESULT ( STDMETHODCALLTYPE *ReleaseResource )( 
  9145.             IResourceConsumer * This,
  9146.             /* [in] */ LONG idResource);
  9147.         
  9148.         END_INTERFACE
  9149.     } IResourceConsumerVtbl;
  9150.  
  9151.     interface IResourceConsumer
  9152.     {
  9153.         CONST_VTBL struct IResourceConsumerVtbl *lpVtbl;
  9154.     };
  9155.  
  9156.     
  9157.  
  9158. #ifdef COBJMACROS
  9159.  
  9160.  
  9161. #define IResourceConsumer_QueryInterface(This,riid,ppvObject)    \
  9162.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9163.  
  9164. #define IResourceConsumer_AddRef(This)    \
  9165.     (This)->lpVtbl -> AddRef(This)
  9166.  
  9167. #define IResourceConsumer_Release(This)    \
  9168.     (This)->lpVtbl -> Release(This)
  9169.  
  9170.  
  9171. #define IResourceConsumer_AcquireResource(This,idResource)    \
  9172.     (This)->lpVtbl -> AcquireResource(This,idResource)
  9173.  
  9174. #define IResourceConsumer_ReleaseResource(This,idResource)    \
  9175.     (This)->lpVtbl -> ReleaseResource(This,idResource)
  9176.  
  9177. #endif /* COBJMACROS */
  9178.  
  9179.  
  9180. #endif     /* C style interface */
  9181.  
  9182.  
  9183.  
  9184. HRESULT STDMETHODCALLTYPE IResourceConsumer_AcquireResource_Proxy( 
  9185.     IResourceConsumer * This,
  9186.     /* [in] */ LONG idResource);
  9187.  
  9188.  
  9189. void __RPC_STUB IResourceConsumer_AcquireResource_Stub(
  9190.     IRpcStubBuffer *This,
  9191.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9192.     PRPC_MESSAGE _pRpcMessage,
  9193.     DWORD *_pdwStubPhase);
  9194.  
  9195.  
  9196. HRESULT STDMETHODCALLTYPE IResourceConsumer_ReleaseResource_Proxy( 
  9197.     IResourceConsumer * This,
  9198.     /* [in] */ LONG idResource);
  9199.  
  9200.  
  9201. void __RPC_STUB IResourceConsumer_ReleaseResource_Stub(
  9202.     IRpcStubBuffer *This,
  9203.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9204.     PRPC_MESSAGE _pRpcMessage,
  9205.     DWORD *_pdwStubPhase);
  9206.  
  9207.  
  9208.  
  9209. #endif     /* __IResourceConsumer_INTERFACE_DEFINED__ */
  9210.  
  9211.  
  9212. #ifndef __IResourceManager_INTERFACE_DEFINED__
  9213. #define __IResourceManager_INTERFACE_DEFINED__
  9214.  
  9215. /* interface IResourceManager */
  9216. /* [unique][uuid][object] */ 
  9217.  
  9218.  
  9219. EXTERN_C const IID IID_IResourceManager;
  9220.  
  9221. #if defined(__cplusplus) && !defined(CINTERFACE)
  9222.     
  9223.     MIDL_INTERFACE("56a868ac-0ad4-11ce-b03a-0020af0ba770")
  9224.     IResourceManager : public IUnknown
  9225.     {
  9226.     public:
  9227.         virtual HRESULT STDMETHODCALLTYPE Register( 
  9228.             /* [in] */ LPCWSTR pName,
  9229.             /* [in] */ LONG cResource,
  9230.             /* [out] */ LONG *plToken) = 0;
  9231.         
  9232.         virtual HRESULT STDMETHODCALLTYPE RegisterGroup( 
  9233.             /* [in] */ LPCWSTR pName,
  9234.             /* [in] */ LONG cResource,
  9235.             /* [size_is][in] */ LONG *palTokens,
  9236.             /* [out] */ LONG *plToken) = 0;
  9237.         
  9238.         virtual HRESULT STDMETHODCALLTYPE RequestResource( 
  9239.             /* [in] */ LONG idResource,
  9240.             /* [in] */ IUnknown *pFocusObject,
  9241.             /* [in] */ IResourceConsumer *pConsumer) = 0;
  9242.         
  9243.         virtual HRESULT STDMETHODCALLTYPE NotifyAcquire( 
  9244.             /* [in] */ LONG idResource,
  9245.             /* [in] */ IResourceConsumer *pConsumer,
  9246.             /* [in] */ HRESULT hr) = 0;
  9247.         
  9248.         virtual HRESULT STDMETHODCALLTYPE NotifyRelease( 
  9249.             /* [in] */ LONG idResource,
  9250.             /* [in] */ IResourceConsumer *pConsumer,
  9251.             /* [in] */ BOOL bStillWant) = 0;
  9252.         
  9253.         virtual HRESULT STDMETHODCALLTYPE CancelRequest( 
  9254.             /* [in] */ LONG idResource,
  9255.             /* [in] */ IResourceConsumer *pConsumer) = 0;
  9256.         
  9257.         virtual HRESULT STDMETHODCALLTYPE SetFocus( 
  9258.             /* [in] */ IUnknown *pFocusObject) = 0;
  9259.         
  9260.         virtual HRESULT STDMETHODCALLTYPE ReleaseFocus( 
  9261.             /* [in] */ IUnknown *pFocusObject) = 0;
  9262.         
  9263.     };
  9264.     
  9265. #else     /* C style interface */
  9266.  
  9267.     typedef struct IResourceManagerVtbl
  9268.     {
  9269.         BEGIN_INTERFACE
  9270.         
  9271.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  9272.             IResourceManager * This,
  9273.             /* [in] */ REFIID riid,
  9274.             /* [iid_is][out] */ void **ppvObject);
  9275.         
  9276.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  9277.             IResourceManager * This);
  9278.         
  9279.         ULONG ( STDMETHODCALLTYPE *Release )( 
  9280.             IResourceManager * This);
  9281.         
  9282.         HRESULT ( STDMETHODCALLTYPE *Register )( 
  9283.             IResourceManager * This,
  9284.             /* [in] */ LPCWSTR pName,
  9285.             /* [in] */ LONG cResource,
  9286.             /* [out] */ LONG *plToken);
  9287.         
  9288.         HRESULT ( STDMETHODCALLTYPE *RegisterGroup )( 
  9289.             IResourceManager * This,
  9290.             /* [in] */ LPCWSTR pName,
  9291.             /* [in] */ LONG cResource,
  9292.             /* [size_is][in] */ LONG *palTokens,
  9293.             /* [out] */ LONG *plToken);
  9294.         
  9295.         HRESULT ( STDMETHODCALLTYPE *RequestResource )( 
  9296.             IResourceManager * This,
  9297.             /* [in] */ LONG idResource,
  9298.             /* [in] */ IUnknown *pFocusObject,
  9299.             /* [in] */ IResourceConsumer *pConsumer);
  9300.         
  9301.         HRESULT ( STDMETHODCALLTYPE *NotifyAcquire )( 
  9302.             IResourceManager * This,
  9303.             /* [in] */ LONG idResource,
  9304.             /* [in] */ IResourceConsumer *pConsumer,
  9305.             /* [in] */ HRESULT hr);
  9306.         
  9307.         HRESULT ( STDMETHODCALLTYPE *NotifyRelease )( 
  9308.             IResourceManager * This,
  9309.             /* [in] */ LONG idResource,
  9310.             /* [in] */ IResourceConsumer *pConsumer,
  9311.             /* [in] */ BOOL bStillWant);
  9312.         
  9313.         HRESULT ( STDMETHODCALLTYPE *CancelRequest )( 
  9314.             IResourceManager * This,
  9315.             /* [in] */ LONG idResource,
  9316.             /* [in] */ IResourceConsumer *pConsumer);
  9317.         
  9318.         HRESULT ( STDMETHODCALLTYPE *SetFocus )( 
  9319.             IResourceManager * This,
  9320.             /* [in] */ IUnknown *pFocusObject);
  9321.         
  9322.         HRESULT ( STDMETHODCALLTYPE *ReleaseFocus )( 
  9323.             IResourceManager * This,
  9324.             /* [in] */ IUnknown *pFocusObject);
  9325.         
  9326.         END_INTERFACE
  9327.     } IResourceManagerVtbl;
  9328.  
  9329.     interface IResourceManager
  9330.     {
  9331.         CONST_VTBL struct IResourceManagerVtbl *lpVtbl;
  9332.     };
  9333.  
  9334.     
  9335.  
  9336. #ifdef COBJMACROS
  9337.  
  9338.  
  9339. #define IResourceManager_QueryInterface(This,riid,ppvObject)    \
  9340.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9341.  
  9342. #define IResourceManager_AddRef(This)    \
  9343.     (This)->lpVtbl -> AddRef(This)
  9344.  
  9345. #define IResourceManager_Release(This)    \
  9346.     (This)->lpVtbl -> Release(This)
  9347.  
  9348.  
  9349. #define IResourceManager_Register(This,pName,cResource,plToken)    \
  9350.     (This)->lpVtbl -> Register(This,pName,cResource,plToken)
  9351.  
  9352. #define IResourceManager_RegisterGroup(This,pName,cResource,palTokens,plToken)    \
  9353.     (This)->lpVtbl -> RegisterGroup(This,pName,cResource,palTokens,plToken)
  9354.  
  9355. #define IResourceManager_RequestResource(This,idResource,pFocusObject,pConsumer)    \
  9356.     (This)->lpVtbl -> RequestResource(This,idResource,pFocusObject,pConsumer)
  9357.  
  9358. #define IResourceManager_NotifyAcquire(This,idResource,pConsumer,hr)    \
  9359.     (This)->lpVtbl -> NotifyAcquire(This,idResource,pConsumer,hr)
  9360.  
  9361. #define IResourceManager_NotifyRelease(This,idResource,pConsumer,bStillWant)    \
  9362.     (This)->lpVtbl -> NotifyRelease(This,idResource,pConsumer,bStillWant)
  9363.  
  9364. #define IResourceManager_CancelRequest(This,idResource,pConsumer)    \
  9365.     (This)->lpVtbl -> CancelRequest(This,idResource,pConsumer)
  9366.  
  9367. #define IResourceManager_SetFocus(This,pFocusObject)    \
  9368.     (This)->lpVtbl -> SetFocus(This,pFocusObject)
  9369.  
  9370. #define IResourceManager_ReleaseFocus(This,pFocusObject)    \
  9371.     (This)->lpVtbl -> ReleaseFocus(This,pFocusObject)
  9372.  
  9373. #endif /* COBJMACROS */
  9374.  
  9375.  
  9376. #endif     /* C style interface */
  9377.  
  9378.  
  9379.  
  9380. HRESULT STDMETHODCALLTYPE IResourceManager_Register_Proxy( 
  9381.     IResourceManager * This,
  9382.     /* [in] */ LPCWSTR pName,
  9383.     /* [in] */ LONG cResource,
  9384.     /* [out] */ LONG *plToken);
  9385.  
  9386.  
  9387. void __RPC_STUB IResourceManager_Register_Stub(
  9388.     IRpcStubBuffer *This,
  9389.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9390.     PRPC_MESSAGE _pRpcMessage,
  9391.     DWORD *_pdwStubPhase);
  9392.  
  9393.  
  9394. HRESULT STDMETHODCALLTYPE IResourceManager_RegisterGroup_Proxy( 
  9395.     IResourceManager * This,
  9396.     /* [in] */ LPCWSTR pName,
  9397.     /* [in] */ LONG cResource,
  9398.     /* [size_is][in] */ LONG *palTokens,
  9399.     /* [out] */ LONG *plToken);
  9400.  
  9401.  
  9402. void __RPC_STUB IResourceManager_RegisterGroup_Stub(
  9403.     IRpcStubBuffer *This,
  9404.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9405.     PRPC_MESSAGE _pRpcMessage,
  9406.     DWORD *_pdwStubPhase);
  9407.  
  9408.  
  9409. HRESULT STDMETHODCALLTYPE IResourceManager_RequestResource_Proxy( 
  9410.     IResourceManager * This,
  9411.     /* [in] */ LONG idResource,
  9412.     /* [in] */ IUnknown *pFocusObject,
  9413.     /* [in] */ IResourceConsumer *pConsumer);
  9414.  
  9415.  
  9416. void __RPC_STUB IResourceManager_RequestResource_Stub(
  9417.     IRpcStubBuffer *This,
  9418.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9419.     PRPC_MESSAGE _pRpcMessage,
  9420.     DWORD *_pdwStubPhase);
  9421.  
  9422.  
  9423. HRESULT STDMETHODCALLTYPE IResourceManager_NotifyAcquire_Proxy( 
  9424.     IResourceManager * This,
  9425.     /* [in] */ LONG idResource,
  9426.     /* [in] */ IResourceConsumer *pConsumer,
  9427.     /* [in] */ HRESULT hr);
  9428.  
  9429.  
  9430. void __RPC_STUB IResourceManager_NotifyAcquire_Stub(
  9431.     IRpcStubBuffer *This,
  9432.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9433.     PRPC_MESSAGE _pRpcMessage,
  9434.     DWORD *_pdwStubPhase);
  9435.  
  9436.  
  9437. HRESULT STDMETHODCALLTYPE IResourceManager_NotifyRelease_Proxy( 
  9438.     IResourceManager * This,
  9439.     /* [in] */ LONG idResource,
  9440.     /* [in] */ IResourceConsumer *pConsumer,
  9441.     /* [in] */ BOOL bStillWant);
  9442.  
  9443.  
  9444. void __RPC_STUB IResourceManager_NotifyRelease_Stub(
  9445.     IRpcStubBuffer *This,
  9446.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9447.     PRPC_MESSAGE _pRpcMessage,
  9448.     DWORD *_pdwStubPhase);
  9449.  
  9450.  
  9451. HRESULT STDMETHODCALLTYPE IResourceManager_CancelRequest_Proxy( 
  9452.     IResourceManager * This,
  9453.     /* [in] */ LONG idResource,
  9454.     /* [in] */ IResourceConsumer *pConsumer);
  9455.  
  9456.  
  9457. void __RPC_STUB IResourceManager_CancelRequest_Stub(
  9458.     IRpcStubBuffer *This,
  9459.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9460.     PRPC_MESSAGE _pRpcMessage,
  9461.     DWORD *_pdwStubPhase);
  9462.  
  9463.  
  9464. HRESULT STDMETHODCALLTYPE IResourceManager_SetFocus_Proxy( 
  9465.     IResourceManager * This,
  9466.     /* [in] */ IUnknown *pFocusObject);
  9467.  
  9468.  
  9469. void __RPC_STUB IResourceManager_SetFocus_Stub(
  9470.     IRpcStubBuffer *This,
  9471.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9472.     PRPC_MESSAGE _pRpcMessage,
  9473.     DWORD *_pdwStubPhase);
  9474.  
  9475.  
  9476. HRESULT STDMETHODCALLTYPE IResourceManager_ReleaseFocus_Proxy( 
  9477.     IResourceManager * This,
  9478.     /* [in] */ IUnknown *pFocusObject);
  9479.  
  9480.  
  9481. void __RPC_STUB IResourceManager_ReleaseFocus_Stub(
  9482.     IRpcStubBuffer *This,
  9483.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9484.     PRPC_MESSAGE _pRpcMessage,
  9485.     DWORD *_pdwStubPhase);
  9486.  
  9487.  
  9488.  
  9489. #endif     /* __IResourceManager_INTERFACE_DEFINED__ */
  9490.  
  9491.  
  9492. #ifndef __IDistributorNotify_INTERFACE_DEFINED__
  9493. #define __IDistributorNotify_INTERFACE_DEFINED__
  9494.  
  9495. /* interface IDistributorNotify */
  9496. /* [unique][uuid][object] */ 
  9497.  
  9498.  
  9499. EXTERN_C const IID IID_IDistributorNotify;
  9500.  
  9501. #if defined(__cplusplus) && !defined(CINTERFACE)
  9502.     
  9503.     MIDL_INTERFACE("56a868af-0ad4-11ce-b03a-0020af0ba770")
  9504.     IDistributorNotify : public IUnknown
  9505.     {
  9506.     public:
  9507.         virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  9508.         
  9509.         virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  9510.         
  9511.         virtual HRESULT STDMETHODCALLTYPE Run( 
  9512.             REFERENCE_TIME tStart) = 0;
  9513.         
  9514.         virtual HRESULT STDMETHODCALLTYPE SetSyncSource( 
  9515.             /* [in] */ IReferenceClock *pClock) = 0;
  9516.         
  9517.         virtual HRESULT STDMETHODCALLTYPE NotifyGraphChange( void) = 0;
  9518.         
  9519.     };
  9520.     
  9521. #else     /* C style interface */
  9522.  
  9523.     typedef struct IDistributorNotifyVtbl
  9524.     {
  9525.         BEGIN_INTERFACE
  9526.         
  9527.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  9528.             IDistributorNotify * This,
  9529.             /* [in] */ REFIID riid,
  9530.             /* [iid_is][out] */ void **ppvObject);
  9531.         
  9532.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  9533.             IDistributorNotify * This);
  9534.         
  9535.         ULONG ( STDMETHODCALLTYPE *Release )( 
  9536.             IDistributorNotify * This);
  9537.         
  9538.         HRESULT ( STDMETHODCALLTYPE *Stop )( 
  9539.             IDistributorNotify * This);
  9540.         
  9541.         HRESULT ( STDMETHODCALLTYPE *Pause )( 
  9542.             IDistributorNotify * This);
  9543.         
  9544.         HRESULT ( STDMETHODCALLTYPE *Run )( 
  9545.             IDistributorNotify * This,
  9546.             REFERENCE_TIME tStart);
  9547.         
  9548.         HRESULT ( STDMETHODCALLTYPE *SetSyncSource )( 
  9549.             IDistributorNotify * This,
  9550.             /* [in] */ IReferenceClock *pClock);
  9551.         
  9552.         HRESULT ( STDMETHODCALLTYPE *NotifyGraphChange )( 
  9553.             IDistributorNotify * This);
  9554.         
  9555.         END_INTERFACE
  9556.     } IDistributorNotifyVtbl;
  9557.  
  9558.     interface IDistributorNotify
  9559.     {
  9560.         CONST_VTBL struct IDistributorNotifyVtbl *lpVtbl;
  9561.     };
  9562.  
  9563.     
  9564.  
  9565. #ifdef COBJMACROS
  9566.  
  9567.  
  9568. #define IDistributorNotify_QueryInterface(This,riid,ppvObject)    \
  9569.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9570.  
  9571. #define IDistributorNotify_AddRef(This)    \
  9572.     (This)->lpVtbl -> AddRef(This)
  9573.  
  9574. #define IDistributorNotify_Release(This)    \
  9575.     (This)->lpVtbl -> Release(This)
  9576.  
  9577.  
  9578. #define IDistributorNotify_Stop(This)    \
  9579.     (This)->lpVtbl -> Stop(This)
  9580.  
  9581. #define IDistributorNotify_Pause(This)    \
  9582.     (This)->lpVtbl -> Pause(This)
  9583.  
  9584. #define IDistributorNotify_Run(This,tStart)    \
  9585.     (This)->lpVtbl -> Run(This,tStart)
  9586.  
  9587. #define IDistributorNotify_SetSyncSource(This,pClock)    \
  9588.     (This)->lpVtbl -> SetSyncSource(This,pClock)
  9589.  
  9590. #define IDistributorNotify_NotifyGraphChange(This)    \
  9591.     (This)->lpVtbl -> NotifyGraphChange(This)
  9592.  
  9593. #endif /* COBJMACROS */
  9594.  
  9595.  
  9596. #endif     /* C style interface */
  9597.  
  9598.  
  9599.  
  9600. HRESULT STDMETHODCALLTYPE IDistributorNotify_Stop_Proxy( 
  9601.     IDistributorNotify * This);
  9602.  
  9603.  
  9604. void __RPC_STUB IDistributorNotify_Stop_Stub(
  9605.     IRpcStubBuffer *This,
  9606.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9607.     PRPC_MESSAGE _pRpcMessage,
  9608.     DWORD *_pdwStubPhase);
  9609.  
  9610.  
  9611. HRESULT STDMETHODCALLTYPE IDistributorNotify_Pause_Proxy( 
  9612.     IDistributorNotify * This);
  9613.  
  9614.  
  9615. void __RPC_STUB IDistributorNotify_Pause_Stub(
  9616.     IRpcStubBuffer *This,
  9617.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9618.     PRPC_MESSAGE _pRpcMessage,
  9619.     DWORD *_pdwStubPhase);
  9620.  
  9621.  
  9622. HRESULT STDMETHODCALLTYPE IDistributorNotify_Run_Proxy( 
  9623.     IDistributorNotify * This,
  9624.     REFERENCE_TIME tStart);
  9625.  
  9626.  
  9627. void __RPC_STUB IDistributorNotify_Run_Stub(
  9628.     IRpcStubBuffer *This,
  9629.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9630.     PRPC_MESSAGE _pRpcMessage,
  9631.     DWORD *_pdwStubPhase);
  9632.  
  9633.  
  9634. HRESULT STDMETHODCALLTYPE IDistributorNotify_SetSyncSource_Proxy( 
  9635.     IDistributorNotify * This,
  9636.     /* [in] */ IReferenceClock *pClock);
  9637.  
  9638.  
  9639. void __RPC_STUB IDistributorNotify_SetSyncSource_Stub(
  9640.     IRpcStubBuffer *This,
  9641.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9642.     PRPC_MESSAGE _pRpcMessage,
  9643.     DWORD *_pdwStubPhase);
  9644.  
  9645.  
  9646. HRESULT STDMETHODCALLTYPE IDistributorNotify_NotifyGraphChange_Proxy( 
  9647.     IDistributorNotify * This);
  9648.  
  9649.  
  9650. void __RPC_STUB IDistributorNotify_NotifyGraphChange_Stub(
  9651.     IRpcStubBuffer *This,
  9652.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9653.     PRPC_MESSAGE _pRpcMessage,
  9654.     DWORD *_pdwStubPhase);
  9655.  
  9656.  
  9657.  
  9658. #endif     /* __IDistributorNotify_INTERFACE_DEFINED__ */
  9659.  
  9660.  
  9661. /* interface __MIDL_itf_strmif_0156 */
  9662. /* [local] */ 
  9663.  
  9664. typedef /* [public] */ 
  9665. enum __MIDL___MIDL_itf_strmif_0156_0001
  9666.     {    AM_STREAM_INFO_START_DEFINED    = 0x1,
  9667.     AM_STREAM_INFO_STOP_DEFINED    = 0x2,
  9668.     AM_STREAM_INFO_DISCARDING    = 0x4,
  9669.     AM_STREAM_INFO_STOP_SEND_EXTRA    = 0x10
  9670.     }     AM_STREAM_INFO_FLAGS;
  9671.  
  9672. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0156_0002
  9673.     {
  9674.     REFERENCE_TIME tStart;
  9675.     REFERENCE_TIME tStop;
  9676.     DWORD dwStartCookie;
  9677.     DWORD dwStopCookie;
  9678.     DWORD dwFlags;
  9679.     }     AM_STREAM_INFO;
  9680.  
  9681.  
  9682.  
  9683. extern RPC_IF_HANDLE __MIDL_itf_strmif_0156_v0_0_c_ifspec;
  9684. extern RPC_IF_HANDLE __MIDL_itf_strmif_0156_v0_0_s_ifspec;
  9685.  
  9686. #ifndef __IAMStreamControl_INTERFACE_DEFINED__
  9687. #define __IAMStreamControl_INTERFACE_DEFINED__
  9688.  
  9689. /* interface IAMStreamControl */
  9690. /* [unique][uuid][object] */ 
  9691.  
  9692.  
  9693. EXTERN_C const IID IID_IAMStreamControl;
  9694.  
  9695. #if defined(__cplusplus) && !defined(CINTERFACE)
  9696.     
  9697.     MIDL_INTERFACE("36b73881-c2c8-11cf-8b46-00805f6cef60")
  9698.     IAMStreamControl : public IUnknown
  9699.     {
  9700.     public:
  9701.         virtual HRESULT STDMETHODCALLTYPE StartAt( 
  9702.             /* [in] */ const REFERENCE_TIME *ptStart,
  9703.             /* [in] */ DWORD dwCookie) = 0;
  9704.         
  9705.         virtual HRESULT STDMETHODCALLTYPE StopAt( 
  9706.             /* [in] */ const REFERENCE_TIME *ptStop,
  9707.             /* [in] */ BOOL bSendExtra,
  9708.             /* [in] */ DWORD dwCookie) = 0;
  9709.         
  9710.         virtual HRESULT STDMETHODCALLTYPE GetInfo( 
  9711.             /* [out] */ AM_STREAM_INFO *pInfo) = 0;
  9712.         
  9713.     };
  9714.     
  9715. #else     /* C style interface */
  9716.  
  9717.     typedef struct IAMStreamControlVtbl
  9718.     {
  9719.         BEGIN_INTERFACE
  9720.         
  9721.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  9722.             IAMStreamControl * This,
  9723.             /* [in] */ REFIID riid,
  9724.             /* [iid_is][out] */ void **ppvObject);
  9725.         
  9726.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  9727.             IAMStreamControl * This);
  9728.         
  9729.         ULONG ( STDMETHODCALLTYPE *Release )( 
  9730.             IAMStreamControl * This);
  9731.         
  9732.         HRESULT ( STDMETHODCALLTYPE *StartAt )( 
  9733.             IAMStreamControl * This,
  9734.             /* [in] */ const REFERENCE_TIME *ptStart,
  9735.             /* [in] */ DWORD dwCookie);
  9736.         
  9737.         HRESULT ( STDMETHODCALLTYPE *StopAt )( 
  9738.             IAMStreamControl * This,
  9739.             /* [in] */ const REFERENCE_TIME *ptStop,
  9740.             /* [in] */ BOOL bSendExtra,
  9741.             /* [in] */ DWORD dwCookie);
  9742.         
  9743.         HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  9744.             IAMStreamControl * This,
  9745.             /* [out] */ AM_STREAM_INFO *pInfo);
  9746.         
  9747.         END_INTERFACE
  9748.     } IAMStreamControlVtbl;
  9749.  
  9750.     interface IAMStreamControl
  9751.     {
  9752.         CONST_VTBL struct IAMStreamControlVtbl *lpVtbl;
  9753.     };
  9754.  
  9755.     
  9756.  
  9757. #ifdef COBJMACROS
  9758.  
  9759.  
  9760. #define IAMStreamControl_QueryInterface(This,riid,ppvObject)    \
  9761.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9762.  
  9763. #define IAMStreamControl_AddRef(This)    \
  9764.     (This)->lpVtbl -> AddRef(This)
  9765.  
  9766. #define IAMStreamControl_Release(This)    \
  9767.     (This)->lpVtbl -> Release(This)
  9768.  
  9769.  
  9770. #define IAMStreamControl_StartAt(This,ptStart,dwCookie)    \
  9771.     (This)->lpVtbl -> StartAt(This,ptStart,dwCookie)
  9772.  
  9773. #define IAMStreamControl_StopAt(This,ptStop,bSendExtra,dwCookie)    \
  9774.     (This)->lpVtbl -> StopAt(This,ptStop,bSendExtra,dwCookie)
  9775.  
  9776. #define IAMStreamControl_GetInfo(This,pInfo)    \
  9777.     (This)->lpVtbl -> GetInfo(This,pInfo)
  9778.  
  9779. #endif /* COBJMACROS */
  9780.  
  9781.  
  9782. #endif     /* C style interface */
  9783.  
  9784.  
  9785.  
  9786. HRESULT STDMETHODCALLTYPE IAMStreamControl_StartAt_Proxy( 
  9787.     IAMStreamControl * This,
  9788.     /* [in] */ const REFERENCE_TIME *ptStart,
  9789.     /* [in] */ DWORD dwCookie);
  9790.  
  9791.  
  9792. void __RPC_STUB IAMStreamControl_StartAt_Stub(
  9793.     IRpcStubBuffer *This,
  9794.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9795.     PRPC_MESSAGE _pRpcMessage,
  9796.     DWORD *_pdwStubPhase);
  9797.  
  9798.  
  9799. HRESULT STDMETHODCALLTYPE IAMStreamControl_StopAt_Proxy( 
  9800.     IAMStreamControl * This,
  9801.     /* [in] */ const REFERENCE_TIME *ptStop,
  9802.     /* [in] */ BOOL bSendExtra,
  9803.     /* [in] */ DWORD dwCookie);
  9804.  
  9805.  
  9806. void __RPC_STUB IAMStreamControl_StopAt_Stub(
  9807.     IRpcStubBuffer *This,
  9808.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9809.     PRPC_MESSAGE _pRpcMessage,
  9810.     DWORD *_pdwStubPhase);
  9811.  
  9812.  
  9813. HRESULT STDMETHODCALLTYPE IAMStreamControl_GetInfo_Proxy( 
  9814.     IAMStreamControl * This,
  9815.     /* [out] */ AM_STREAM_INFO *pInfo);
  9816.  
  9817.  
  9818. void __RPC_STUB IAMStreamControl_GetInfo_Stub(
  9819.     IRpcStubBuffer *This,
  9820.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9821.     PRPC_MESSAGE _pRpcMessage,
  9822.     DWORD *_pdwStubPhase);
  9823.  
  9824.  
  9825.  
  9826. #endif     /* __IAMStreamControl_INTERFACE_DEFINED__ */
  9827.  
  9828.  
  9829. #ifndef __ISeekingPassThru_INTERFACE_DEFINED__
  9830. #define __ISeekingPassThru_INTERFACE_DEFINED__
  9831.  
  9832. /* interface ISeekingPassThru */
  9833. /* [unique][uuid][object] */ 
  9834.  
  9835.  
  9836. EXTERN_C const IID IID_ISeekingPassThru;
  9837.  
  9838. #if defined(__cplusplus) && !defined(CINTERFACE)
  9839.     
  9840.     MIDL_INTERFACE("36b73883-c2c8-11cf-8b46-00805f6cef60")
  9841.     ISeekingPassThru : public IUnknown
  9842.     {
  9843.     public:
  9844.         virtual HRESULT STDMETHODCALLTYPE Init( 
  9845.             /* [in] */ BOOL bSupportRendering,
  9846.             /* [in] */ IPin *pPin) = 0;
  9847.         
  9848.     };
  9849.     
  9850. #else     /* C style interface */
  9851.  
  9852.     typedef struct ISeekingPassThruVtbl
  9853.     {
  9854.         BEGIN_INTERFACE
  9855.         
  9856.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  9857.             ISeekingPassThru * This,
  9858.             /* [in] */ REFIID riid,
  9859.             /* [iid_is][out] */ void **ppvObject);
  9860.         
  9861.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  9862.             ISeekingPassThru * This);
  9863.         
  9864.         ULONG ( STDMETHODCALLTYPE *Release )( 
  9865.             ISeekingPassThru * This);
  9866.         
  9867.         HRESULT ( STDMETHODCALLTYPE *Init )( 
  9868.             ISeekingPassThru * This,
  9869.             /* [in] */ BOOL bSupportRendering,
  9870.             /* [in] */ IPin *pPin);
  9871.         
  9872.         END_INTERFACE
  9873.     } ISeekingPassThruVtbl;
  9874.  
  9875.     interface ISeekingPassThru
  9876.     {
  9877.         CONST_VTBL struct ISeekingPassThruVtbl *lpVtbl;
  9878.     };
  9879.  
  9880.     
  9881.  
  9882. #ifdef COBJMACROS
  9883.  
  9884.  
  9885. #define ISeekingPassThru_QueryInterface(This,riid,ppvObject)    \
  9886.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9887.  
  9888. #define ISeekingPassThru_AddRef(This)    \
  9889.     (This)->lpVtbl -> AddRef(This)
  9890.  
  9891. #define ISeekingPassThru_Release(This)    \
  9892.     (This)->lpVtbl -> Release(This)
  9893.  
  9894.  
  9895. #define ISeekingPassThru_Init(This,bSupportRendering,pPin)    \
  9896.     (This)->lpVtbl -> Init(This,bSupportRendering,pPin)
  9897.  
  9898. #endif /* COBJMACROS */
  9899.  
  9900.  
  9901. #endif     /* C style interface */
  9902.  
  9903.  
  9904.  
  9905. HRESULT STDMETHODCALLTYPE ISeekingPassThru_Init_Proxy( 
  9906.     ISeekingPassThru * This,
  9907.     /* [in] */ BOOL bSupportRendering,
  9908.     /* [in] */ IPin *pPin);
  9909.  
  9910.  
  9911. void __RPC_STUB ISeekingPassThru_Init_Stub(
  9912.     IRpcStubBuffer *This,
  9913.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9914.     PRPC_MESSAGE _pRpcMessage,
  9915.     DWORD *_pdwStubPhase);
  9916.  
  9917.  
  9918.  
  9919. #endif     /* __ISeekingPassThru_INTERFACE_DEFINED__ */
  9920.  
  9921.  
  9922. #ifndef __IAMStreamConfig_INTERFACE_DEFINED__
  9923. #define __IAMStreamConfig_INTERFACE_DEFINED__
  9924.  
  9925. /* interface IAMStreamConfig */
  9926. /* [unique][uuid][object] */ 
  9927.  
  9928. typedef struct _VIDEO_STREAM_CONFIG_CAPS
  9929.     {
  9930.     GUID guid;
  9931.     ULONG VideoStandard;
  9932.     SIZE InputSize;
  9933.     SIZE MinCroppingSize;
  9934.     SIZE MaxCroppingSize;
  9935.     int CropGranularityX;
  9936.     int CropGranularityY;
  9937.     int CropAlignX;
  9938.     int CropAlignY;
  9939.     SIZE MinOutputSize;
  9940.     SIZE MaxOutputSize;
  9941.     int OutputGranularityX;
  9942.     int OutputGranularityY;
  9943.     int StretchTapsX;
  9944.     int StretchTapsY;
  9945.     int ShrinkTapsX;
  9946.     int ShrinkTapsY;
  9947.     LONGLONG MinFrameInterval;
  9948.     LONGLONG MaxFrameInterval;
  9949.     LONG MinBitsPerSecond;
  9950.     LONG MaxBitsPerSecond;
  9951.     }     VIDEO_STREAM_CONFIG_CAPS;
  9952.  
  9953. typedef struct _AUDIO_STREAM_CONFIG_CAPS
  9954.     {
  9955.     GUID guid;
  9956.     ULONG MinimumChannels;
  9957.     ULONG MaximumChannels;
  9958.     ULONG ChannelsGranularity;
  9959.     ULONG MinimumBitsPerSample;
  9960.     ULONG MaximumBitsPerSample;
  9961.     ULONG BitsPerSampleGranularity;
  9962.     ULONG MinimumSampleFrequency;
  9963.     ULONG MaximumSampleFrequency;
  9964.     ULONG SampleFrequencyGranularity;
  9965.     }     AUDIO_STREAM_CONFIG_CAPS;
  9966.  
  9967.  
  9968. EXTERN_C const IID IID_IAMStreamConfig;
  9969.  
  9970. #if defined(__cplusplus) && !defined(CINTERFACE)
  9971.     
  9972.     MIDL_INTERFACE("C6E13340-30AC-11d0-A18C-00A0C9118956")
  9973.     IAMStreamConfig : public IUnknown
  9974.     {
  9975.     public:
  9976.         virtual HRESULT STDMETHODCALLTYPE SetFormat( 
  9977.             /* [in] */ AM_MEDIA_TYPE *pmt) = 0;
  9978.         
  9979.         virtual HRESULT STDMETHODCALLTYPE GetFormat( 
  9980.             /* [out] */ AM_MEDIA_TYPE **ppmt) = 0;
  9981.         
  9982.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfCapabilities( 
  9983.             /* [out] */ int *piCount,
  9984.             /* [out] */ int *piSize) = 0;
  9985.         
  9986.         virtual HRESULT STDMETHODCALLTYPE GetStreamCaps( 
  9987.             /* [in] */ int iIndex,
  9988.             /* [out] */ AM_MEDIA_TYPE **ppmt,
  9989.             /* [out] */ BYTE *pSCC) = 0;
  9990.         
  9991.     };
  9992.     
  9993. #else     /* C style interface */
  9994.  
  9995.     typedef struct IAMStreamConfigVtbl
  9996.     {
  9997.         BEGIN_INTERFACE
  9998.         
  9999.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  10000.             IAMStreamConfig * This,
  10001.             /* [in] */ REFIID riid,
  10002.             /* [iid_is][out] */ void **ppvObject);
  10003.         
  10004.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  10005.             IAMStreamConfig * This);
  10006.         
  10007.         ULONG ( STDMETHODCALLTYPE *Release )( 
  10008.             IAMStreamConfig * This);
  10009.         
  10010.         HRESULT ( STDMETHODCALLTYPE *SetFormat )( 
  10011.             IAMStreamConfig * This,
  10012.             /* [in] */ AM_MEDIA_TYPE *pmt);
  10013.         
  10014.         HRESULT ( STDMETHODCALLTYPE *GetFormat )( 
  10015.             IAMStreamConfig * This,
  10016.             /* [out] */ AM_MEDIA_TYPE **ppmt);
  10017.         
  10018.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfCapabilities )( 
  10019.             IAMStreamConfig * This,
  10020.             /* [out] */ int *piCount,
  10021.             /* [out] */ int *piSize);
  10022.         
  10023.         HRESULT ( STDMETHODCALLTYPE *GetStreamCaps )( 
  10024.             IAMStreamConfig * This,
  10025.             /* [in] */ int iIndex,
  10026.             /* [out] */ AM_MEDIA_TYPE **ppmt,
  10027.             /* [out] */ BYTE *pSCC);
  10028.         
  10029.         END_INTERFACE
  10030.     } IAMStreamConfigVtbl;
  10031.  
  10032.     interface IAMStreamConfig
  10033.     {
  10034.         CONST_VTBL struct IAMStreamConfigVtbl *lpVtbl;
  10035.     };
  10036.  
  10037.     
  10038.  
  10039. #ifdef COBJMACROS
  10040.  
  10041.  
  10042. #define IAMStreamConfig_QueryInterface(This,riid,ppvObject)    \
  10043.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10044.  
  10045. #define IAMStreamConfig_AddRef(This)    \
  10046.     (This)->lpVtbl -> AddRef(This)
  10047.  
  10048. #define IAMStreamConfig_Release(This)    \
  10049.     (This)->lpVtbl -> Release(This)
  10050.  
  10051.  
  10052. #define IAMStreamConfig_SetFormat(This,pmt)    \
  10053.     (This)->lpVtbl -> SetFormat(This,pmt)
  10054.  
  10055. #define IAMStreamConfig_GetFormat(This,ppmt)    \
  10056.     (This)->lpVtbl -> GetFormat(This,ppmt)
  10057.  
  10058. #define IAMStreamConfig_GetNumberOfCapabilities(This,piCount,piSize)    \
  10059.     (This)->lpVtbl -> GetNumberOfCapabilities(This,piCount,piSize)
  10060.  
  10061. #define IAMStreamConfig_GetStreamCaps(This,iIndex,ppmt,pSCC)    \
  10062.     (This)->lpVtbl -> GetStreamCaps(This,iIndex,ppmt,pSCC)
  10063.  
  10064. #endif /* COBJMACROS */
  10065.  
  10066.  
  10067. #endif     /* C style interface */
  10068.  
  10069.  
  10070.  
  10071. HRESULT STDMETHODCALLTYPE IAMStreamConfig_SetFormat_Proxy( 
  10072.     IAMStreamConfig * This,
  10073.     /* [in] */ AM_MEDIA_TYPE *pmt);
  10074.  
  10075.  
  10076. void __RPC_STUB IAMStreamConfig_SetFormat_Stub(
  10077.     IRpcStubBuffer *This,
  10078.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10079.     PRPC_MESSAGE _pRpcMessage,
  10080.     DWORD *_pdwStubPhase);
  10081.  
  10082.  
  10083. HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetFormat_Proxy( 
  10084.     IAMStreamConfig * This,
  10085.     /* [out] */ AM_MEDIA_TYPE **ppmt);
  10086.  
  10087.  
  10088. void __RPC_STUB IAMStreamConfig_GetFormat_Stub(
  10089.     IRpcStubBuffer *This,
  10090.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10091.     PRPC_MESSAGE _pRpcMessage,
  10092.     DWORD *_pdwStubPhase);
  10093.  
  10094.  
  10095. HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetNumberOfCapabilities_Proxy( 
  10096.     IAMStreamConfig * This,
  10097.     /* [out] */ int *piCount,
  10098.     /* [out] */ int *piSize);
  10099.  
  10100.  
  10101. void __RPC_STUB IAMStreamConfig_GetNumberOfCapabilities_Stub(
  10102.     IRpcStubBuffer *This,
  10103.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10104.     PRPC_MESSAGE _pRpcMessage,
  10105.     DWORD *_pdwStubPhase);
  10106.  
  10107.  
  10108. HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetStreamCaps_Proxy( 
  10109.     IAMStreamConfig * This,
  10110.     /* [in] */ int iIndex,
  10111.     /* [out] */ AM_MEDIA_TYPE **ppmt,
  10112.     /* [out] */ BYTE *pSCC);
  10113.  
  10114.  
  10115. void __RPC_STUB IAMStreamConfig_GetStreamCaps_Stub(
  10116.     IRpcStubBuffer *This,
  10117.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10118.     PRPC_MESSAGE _pRpcMessage,
  10119.     DWORD *_pdwStubPhase);
  10120.  
  10121.  
  10122.  
  10123. #endif     /* __IAMStreamConfig_INTERFACE_DEFINED__ */
  10124.  
  10125.  
  10126. #ifndef __IConfigInterleaving_INTERFACE_DEFINED__
  10127. #define __IConfigInterleaving_INTERFACE_DEFINED__
  10128.  
  10129. /* interface IConfigInterleaving */
  10130. /* [unique][uuid][object] */ 
  10131.  
  10132. typedef /* [public][public][public] */ 
  10133. enum __MIDL_IConfigInterleaving_0001
  10134.     {    INTERLEAVE_NONE    = 0,
  10135.     INTERLEAVE_CAPTURE    = INTERLEAVE_NONE + 1,
  10136.     INTERLEAVE_FULL    = INTERLEAVE_CAPTURE + 1,
  10137.     INTERLEAVE_NONE_BUFFERED    = INTERLEAVE_FULL + 1
  10138.     }     InterleavingMode;
  10139.  
  10140.  
  10141. EXTERN_C const IID IID_IConfigInterleaving;
  10142.  
  10143. #if defined(__cplusplus) && !defined(CINTERFACE)
  10144.     
  10145.     MIDL_INTERFACE("BEE3D220-157B-11d0-BD23-00A0C911CE86")
  10146.     IConfigInterleaving : public IUnknown
  10147.     {
  10148.     public:
  10149.         virtual HRESULT STDMETHODCALLTYPE put_Mode( 
  10150.             /* [in] */ InterleavingMode mode) = 0;
  10151.         
  10152.         virtual HRESULT STDMETHODCALLTYPE get_Mode( 
  10153.             /* [out] */ InterleavingMode *pMode) = 0;
  10154.         
  10155.         virtual HRESULT STDMETHODCALLTYPE put_Interleaving( 
  10156.             /* [in] */ const REFERENCE_TIME *prtInterleave,
  10157.             /* [in] */ const REFERENCE_TIME *prtPreroll) = 0;
  10158.         
  10159.         virtual HRESULT STDMETHODCALLTYPE get_Interleaving( 
  10160.             /* [out] */ REFERENCE_TIME *prtInterleave,
  10161.             /* [out] */ REFERENCE_TIME *prtPreroll) = 0;
  10162.         
  10163.     };
  10164.     
  10165. #else     /* C style interface */
  10166.  
  10167.     typedef struct IConfigInterleavingVtbl
  10168.     {
  10169.         BEGIN_INTERFACE
  10170.         
  10171.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  10172.             IConfigInterleaving * This,
  10173.             /* [in] */ REFIID riid,
  10174.             /* [iid_is][out] */ void **ppvObject);
  10175.         
  10176.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  10177.             IConfigInterleaving * This);
  10178.         
  10179.         ULONG ( STDMETHODCALLTYPE *Release )( 
  10180.             IConfigInterleaving * This);
  10181.         
  10182.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  10183.             IConfigInterleaving * This,
  10184.             /* [in] */ InterleavingMode mode);
  10185.         
  10186.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  10187.             IConfigInterleaving * This,
  10188.             /* [out] */ InterleavingMode *pMode);
  10189.         
  10190.         HRESULT ( STDMETHODCALLTYPE *put_Interleaving )( 
  10191.             IConfigInterleaving * This,
  10192.             /* [in] */ const REFERENCE_TIME *prtInterleave,
  10193.             /* [in] */ const REFERENCE_TIME *prtPreroll);
  10194.         
  10195.         HRESULT ( STDMETHODCALLTYPE *get_Interleaving )( 
  10196.             IConfigInterleaving * This,
  10197.             /* [out] */ REFERENCE_TIME *prtInterleave,
  10198.             /* [out] */ REFERENCE_TIME *prtPreroll);
  10199.         
  10200.         END_INTERFACE
  10201.     } IConfigInterleavingVtbl;
  10202.  
  10203.     interface IConfigInterleaving
  10204.     {
  10205.         CONST_VTBL struct IConfigInterleavingVtbl *lpVtbl;
  10206.     };
  10207.  
  10208.     
  10209.  
  10210. #ifdef COBJMACROS
  10211.  
  10212.  
  10213. #define IConfigInterleaving_QueryInterface(This,riid,ppvObject)    \
  10214.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10215.  
  10216. #define IConfigInterleaving_AddRef(This)    \
  10217.     (This)->lpVtbl -> AddRef(This)
  10218.  
  10219. #define IConfigInterleaving_Release(This)    \
  10220.     (This)->lpVtbl -> Release(This)
  10221.  
  10222.  
  10223. #define IConfigInterleaving_put_Mode(This,mode)    \
  10224.     (This)->lpVtbl -> put_Mode(This,mode)
  10225.  
  10226. #define IConfigInterleaving_get_Mode(This,pMode)    \
  10227.     (This)->lpVtbl -> get_Mode(This,pMode)
  10228.  
  10229. #define IConfigInterleaving_put_Interleaving(This,prtInterleave,prtPreroll)    \
  10230.     (This)->lpVtbl -> put_Interleaving(This,prtInterleave,prtPreroll)
  10231.  
  10232. #define IConfigInterleaving_get_Interleaving(This,prtInterleave,prtPreroll)    \
  10233.     (This)->lpVtbl -> get_Interleaving(This,prtInterleave,prtPreroll)
  10234.  
  10235. #endif /* COBJMACROS */
  10236.  
  10237.  
  10238. #endif     /* C style interface */
  10239.  
  10240.  
  10241.  
  10242. HRESULT STDMETHODCALLTYPE IConfigInterleaving_put_Mode_Proxy( 
  10243.     IConfigInterleaving * This,
  10244.     /* [in] */ InterleavingMode mode);
  10245.  
  10246.  
  10247. void __RPC_STUB IConfigInterleaving_put_Mode_Stub(
  10248.     IRpcStubBuffer *This,
  10249.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10250.     PRPC_MESSAGE _pRpcMessage,
  10251.     DWORD *_pdwStubPhase);
  10252.  
  10253.  
  10254. HRESULT STDMETHODCALLTYPE IConfigInterleaving_get_Mode_Proxy( 
  10255.     IConfigInterleaving * This,
  10256.     /* [out] */ InterleavingMode *pMode);
  10257.  
  10258.  
  10259. void __RPC_STUB IConfigInterleaving_get_Mode_Stub(
  10260.     IRpcStubBuffer *This,
  10261.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10262.     PRPC_MESSAGE _pRpcMessage,
  10263.     DWORD *_pdwStubPhase);
  10264.  
  10265.  
  10266. HRESULT STDMETHODCALLTYPE IConfigInterleaving_put_Interleaving_Proxy( 
  10267.     IConfigInterleaving * This,
  10268.     /* [in] */ const REFERENCE_TIME *prtInterleave,
  10269.     /* [in] */ const REFERENCE_TIME *prtPreroll);
  10270.  
  10271.  
  10272. void __RPC_STUB IConfigInterleaving_put_Interleaving_Stub(
  10273.     IRpcStubBuffer *This,
  10274.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10275.     PRPC_MESSAGE _pRpcMessage,
  10276.     DWORD *_pdwStubPhase);
  10277.  
  10278.  
  10279. HRESULT STDMETHODCALLTYPE IConfigInterleaving_get_Interleaving_Proxy( 
  10280.     IConfigInterleaving * This,
  10281.     /* [out] */ REFERENCE_TIME *prtInterleave,
  10282.     /* [out] */ REFERENCE_TIME *prtPreroll);
  10283.  
  10284.  
  10285. void __RPC_STUB IConfigInterleaving_get_Interleaving_Stub(
  10286.     IRpcStubBuffer *This,
  10287.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10288.     PRPC_MESSAGE _pRpcMessage,
  10289.     DWORD *_pdwStubPhase);
  10290.  
  10291.  
  10292.  
  10293. #endif     /* __IConfigInterleaving_INTERFACE_DEFINED__ */
  10294.  
  10295.  
  10296. #ifndef __IConfigAviMux_INTERFACE_DEFINED__
  10297. #define __IConfigAviMux_INTERFACE_DEFINED__
  10298.  
  10299. /* interface IConfigAviMux */
  10300. /* [unique][uuid][object] */ 
  10301.  
  10302.  
  10303. EXTERN_C const IID IID_IConfigAviMux;
  10304.  
  10305. #if defined(__cplusplus) && !defined(CINTERFACE)
  10306.     
  10307.     MIDL_INTERFACE("5ACD6AA0-F482-11ce-8B67-00AA00A3F1A6")
  10308.     IConfigAviMux : public IUnknown
  10309.     {
  10310.     public:
  10311.         virtual HRESULT STDMETHODCALLTYPE SetMasterStream( 
  10312.             /* [in] */ LONG iStream) = 0;
  10313.         
  10314.         virtual HRESULT STDMETHODCALLTYPE GetMasterStream( 
  10315.             /* [out] */ LONG *pStream) = 0;
  10316.         
  10317.         virtual HRESULT STDMETHODCALLTYPE SetOutputCompatibilityIndex( 
  10318.             /* [in] */ BOOL fOldIndex) = 0;
  10319.         
  10320.         virtual HRESULT STDMETHODCALLTYPE GetOutputCompatibilityIndex( 
  10321.             /* [out] */ BOOL *pfOldIndex) = 0;
  10322.         
  10323.     };
  10324.     
  10325. #else     /* C style interface */
  10326.  
  10327.     typedef struct IConfigAviMuxVtbl
  10328.     {
  10329.         BEGIN_INTERFACE
  10330.         
  10331.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  10332.             IConfigAviMux * This,
  10333.             /* [in] */ REFIID riid,
  10334.             /* [iid_is][out] */ void **ppvObject);
  10335.         
  10336.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  10337.             IConfigAviMux * This);
  10338.         
  10339.         ULONG ( STDMETHODCALLTYPE *Release )( 
  10340.             IConfigAviMux * This);
  10341.         
  10342.         HRESULT ( STDMETHODCALLTYPE *SetMasterStream )( 
  10343.             IConfigAviMux * This,
  10344.             /* [in] */ LONG iStream);
  10345.         
  10346.         HRESULT ( STDMETHODCALLTYPE *GetMasterStream )( 
  10347.             IConfigAviMux * This,
  10348.             /* [out] */ LONG *pStream);
  10349.         
  10350.         HRESULT ( STDMETHODCALLTYPE *SetOutputCompatibilityIndex )( 
  10351.             IConfigAviMux * This,
  10352.             /* [in] */ BOOL fOldIndex);
  10353.         
  10354.         HRESULT ( STDMETHODCALLTYPE *GetOutputCompatibilityIndex )( 
  10355.             IConfigAviMux * This,
  10356.             /* [out] */ BOOL *pfOldIndex);
  10357.         
  10358.         END_INTERFACE
  10359.     } IConfigAviMuxVtbl;
  10360.  
  10361.     interface IConfigAviMux
  10362.     {
  10363.         CONST_VTBL struct IConfigAviMuxVtbl *lpVtbl;
  10364.     };
  10365.  
  10366.     
  10367.  
  10368. #ifdef COBJMACROS
  10369.  
  10370.  
  10371. #define IConfigAviMux_QueryInterface(This,riid,ppvObject)    \
  10372.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10373.  
  10374. #define IConfigAviMux_AddRef(This)    \
  10375.     (This)->lpVtbl -> AddRef(This)
  10376.  
  10377. #define IConfigAviMux_Release(This)    \
  10378.     (This)->lpVtbl -> Release(This)
  10379.  
  10380.  
  10381. #define IConfigAviMux_SetMasterStream(This,iStream)    \
  10382.     (This)->lpVtbl -> SetMasterStream(This,iStream)
  10383.  
  10384. #define IConfigAviMux_GetMasterStream(This,pStream)    \
  10385.     (This)->lpVtbl -> GetMasterStream(This,pStream)
  10386.  
  10387. #define IConfigAviMux_SetOutputCompatibilityIndex(This,fOldIndex)    \
  10388.     (This)->lpVtbl -> SetOutputCompatibilityIndex(This,fOldIndex)
  10389.  
  10390. #define IConfigAviMux_GetOutputCompatibilityIndex(This,pfOldIndex)    \
  10391.     (This)->lpVtbl -> GetOutputCompatibilityIndex(This,pfOldIndex)
  10392.  
  10393. #endif /* COBJMACROS */
  10394.  
  10395.  
  10396. #endif     /* C style interface */
  10397.  
  10398.  
  10399.  
  10400. HRESULT STDMETHODCALLTYPE IConfigAviMux_SetMasterStream_Proxy( 
  10401.     IConfigAviMux * This,
  10402.     /* [in] */ LONG iStream);
  10403.  
  10404.  
  10405. void __RPC_STUB IConfigAviMux_SetMasterStream_Stub(
  10406.     IRpcStubBuffer *This,
  10407.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10408.     PRPC_MESSAGE _pRpcMessage,
  10409.     DWORD *_pdwStubPhase);
  10410.  
  10411.  
  10412. HRESULT STDMETHODCALLTYPE IConfigAviMux_GetMasterStream_Proxy( 
  10413.     IConfigAviMux * This,
  10414.     /* [out] */ LONG *pStream);
  10415.  
  10416.  
  10417. void __RPC_STUB IConfigAviMux_GetMasterStream_Stub(
  10418.     IRpcStubBuffer *This,
  10419.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10420.     PRPC_MESSAGE _pRpcMessage,
  10421.     DWORD *_pdwStubPhase);
  10422.  
  10423.  
  10424. HRESULT STDMETHODCALLTYPE IConfigAviMux_SetOutputCompatibilityIndex_Proxy( 
  10425.     IConfigAviMux * This,
  10426.     /* [in] */ BOOL fOldIndex);
  10427.  
  10428.  
  10429. void __RPC_STUB IConfigAviMux_SetOutputCompatibilityIndex_Stub(
  10430.     IRpcStubBuffer *This,
  10431.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10432.     PRPC_MESSAGE _pRpcMessage,
  10433.     DWORD *_pdwStubPhase);
  10434.  
  10435.  
  10436. HRESULT STDMETHODCALLTYPE IConfigAviMux_GetOutputCompatibilityIndex_Proxy( 
  10437.     IConfigAviMux * This,
  10438.     /* [out] */ BOOL *pfOldIndex);
  10439.  
  10440.  
  10441. void __RPC_STUB IConfigAviMux_GetOutputCompatibilityIndex_Stub(
  10442.     IRpcStubBuffer *This,
  10443.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10444.     PRPC_MESSAGE _pRpcMessage,
  10445.     DWORD *_pdwStubPhase);
  10446.  
  10447.  
  10448.  
  10449. #endif     /* __IConfigAviMux_INTERFACE_DEFINED__ */
  10450.  
  10451.  
  10452. /* interface __MIDL_itf_strmif_0163 */
  10453. /* [local] */ 
  10454.  
  10455. typedef /* [public] */ 
  10456. enum __MIDL___MIDL_itf_strmif_0163_0001
  10457.     {    CompressionCaps_CanQuality    = 0x1,
  10458.     CompressionCaps_CanCrunch    = 0x2,
  10459.     CompressionCaps_CanKeyFrame    = 0x4,
  10460.     CompressionCaps_CanBFrame    = 0x8,
  10461.     CompressionCaps_CanWindow    = 0x10
  10462.     }     CompressionCaps;
  10463.  
  10464.  
  10465.  
  10466. extern RPC_IF_HANDLE __MIDL_itf_strmif_0163_v0_0_c_ifspec;
  10467. extern RPC_IF_HANDLE __MIDL_itf_strmif_0163_v0_0_s_ifspec;
  10468.  
  10469. #ifndef __IAMVideoCompression_INTERFACE_DEFINED__
  10470. #define __IAMVideoCompression_INTERFACE_DEFINED__
  10471.  
  10472. /* interface IAMVideoCompression */
  10473. /* [unique][uuid][object] */ 
  10474.  
  10475.  
  10476. EXTERN_C const IID IID_IAMVideoCompression;
  10477.  
  10478. #if defined(__cplusplus) && !defined(CINTERFACE)
  10479.     
  10480.     MIDL_INTERFACE("C6E13343-30AC-11d0-A18C-00A0C9118956")
  10481.     IAMVideoCompression : public IUnknown
  10482.     {
  10483.     public:
  10484.         virtual HRESULT STDMETHODCALLTYPE put_KeyFrameRate( 
  10485.             /* [in] */ long KeyFrameRate) = 0;
  10486.         
  10487.         virtual HRESULT STDMETHODCALLTYPE get_KeyFrameRate( 
  10488.             /* [out] */ long *pKeyFrameRate) = 0;
  10489.         
  10490.         virtual HRESULT STDMETHODCALLTYPE put_PFramesPerKeyFrame( 
  10491.             /* [in] */ long PFramesPerKeyFrame) = 0;
  10492.         
  10493.         virtual HRESULT STDMETHODCALLTYPE get_PFramesPerKeyFrame( 
  10494.             /* [out] */ long *pPFramesPerKeyFrame) = 0;
  10495.         
  10496.         virtual HRESULT STDMETHODCALLTYPE put_Quality( 
  10497.             /* [in] */ double Quality) = 0;
  10498.         
  10499.         virtual HRESULT STDMETHODCALLTYPE get_Quality( 
  10500.             /* [out] */ double *pQuality) = 0;
  10501.         
  10502.         virtual HRESULT STDMETHODCALLTYPE put_WindowSize( 
  10503.             /* [in] */ DWORDLONG WindowSize) = 0;
  10504.         
  10505.         virtual HRESULT STDMETHODCALLTYPE get_WindowSize( 
  10506.             /* [out] */ DWORDLONG *pWindowSize) = 0;
  10507.         
  10508.         virtual HRESULT STDMETHODCALLTYPE GetInfo( 
  10509.             /* [size_is][out] */ WCHAR *pszVersion,
  10510.             /* [out][in] */ int *pcbVersion,
  10511.             /* [size_is][out] */ LPWSTR pszDescription,
  10512.             /* [out][in] */ int *pcbDescription,
  10513.             /* [out] */ long *pDefaultKeyFrameRate,
  10514.             /* [out] */ long *pDefaultPFramesPerKey,
  10515.             /* [out] */ double *pDefaultQuality,
  10516.             /* [out] */ long *pCapabilities) = 0;
  10517.         
  10518.         virtual HRESULT STDMETHODCALLTYPE OverrideKeyFrame( 
  10519.             /* [in] */ long FrameNumber) = 0;
  10520.         
  10521.         virtual HRESULT STDMETHODCALLTYPE OverrideFrameSize( 
  10522.             /* [in] */ long FrameNumber,
  10523.             /* [in] */ long Size) = 0;
  10524.         
  10525.     };
  10526.     
  10527. #else     /* C style interface */
  10528.  
  10529.     typedef struct IAMVideoCompressionVtbl
  10530.     {
  10531.         BEGIN_INTERFACE
  10532.         
  10533.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  10534.             IAMVideoCompression * This,
  10535.             /* [in] */ REFIID riid,
  10536.             /* [iid_is][out] */ void **ppvObject);
  10537.         
  10538.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  10539.             IAMVideoCompression * This);
  10540.         
  10541.         ULONG ( STDMETHODCALLTYPE *Release )( 
  10542.             IAMVideoCompression * This);
  10543.         
  10544.         HRESULT ( STDMETHODCALLTYPE *put_KeyFrameRate )( 
  10545.             IAMVideoCompression * This,
  10546.             /* [in] */ long KeyFrameRate);
  10547.         
  10548.         HRESULT ( STDMETHODCALLTYPE *get_KeyFrameRate )( 
  10549.             IAMVideoCompression * This,
  10550.             /* [out] */ long *pKeyFrameRate);
  10551.         
  10552.         HRESULT ( STDMETHODCALLTYPE *put_PFramesPerKeyFrame )( 
  10553.             IAMVideoCompression * This,
  10554.             /* [in] */ long PFramesPerKeyFrame);
  10555.         
  10556.         HRESULT ( STDMETHODCALLTYPE *get_PFramesPerKeyFrame )( 
  10557.             IAMVideoCompression * This,
  10558.             /* [out] */ long *pPFramesPerKeyFrame);
  10559.         
  10560.         HRESULT ( STDMETHODCALLTYPE *put_Quality )( 
  10561.             IAMVideoCompression * This,
  10562.             /* [in] */ double Quality);
  10563.         
  10564.         HRESULT ( STDMETHODCALLTYPE *get_Quality )( 
  10565.             IAMVideoCompression * This,
  10566.             /* [out] */ double *pQuality);
  10567.         
  10568.         HRESULT ( STDMETHODCALLTYPE *put_WindowSize )( 
  10569.             IAMVideoCompression * This,
  10570.             /* [in] */ DWORDLONG WindowSize);
  10571.         
  10572.         HRESULT ( STDMETHODCALLTYPE *get_WindowSize )( 
  10573.             IAMVideoCompression * This,
  10574.             /* [out] */ DWORDLONG *pWindowSize);
  10575.         
  10576.         HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  10577.             IAMVideoCompression * This,
  10578.             /* [size_is][out] */ WCHAR *pszVersion,
  10579.             /* [out][in] */ int *pcbVersion,
  10580.             /* [size_is][out] */ LPWSTR pszDescription,
  10581.             /* [out][in] */ int *pcbDescription,
  10582.             /* [out] */ long *pDefaultKeyFrameRate,
  10583.             /* [out] */ long *pDefaultPFramesPerKey,
  10584.             /* [out] */ double *pDefaultQuality,
  10585.             /* [out] */ long *pCapabilities);
  10586.         
  10587.         HRESULT ( STDMETHODCALLTYPE *OverrideKeyFrame )( 
  10588.             IAMVideoCompression * This,
  10589.             /* [in] */ long FrameNumber);
  10590.         
  10591.         HRESULT ( STDMETHODCALLTYPE *OverrideFrameSize )( 
  10592.             IAMVideoCompression * This,
  10593.             /* [in] */ long FrameNumber,
  10594.             /* [in] */ long Size);
  10595.         
  10596.         END_INTERFACE
  10597.     } IAMVideoCompressionVtbl;
  10598.  
  10599.     interface IAMVideoCompression
  10600.     {
  10601.         CONST_VTBL struct IAMVideoCompressionVtbl *lpVtbl;
  10602.     };
  10603.  
  10604.     
  10605.  
  10606. #ifdef COBJMACROS
  10607.  
  10608.  
  10609. #define IAMVideoCompression_QueryInterface(This,riid,ppvObject)    \
  10610.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10611.  
  10612. #define IAMVideoCompression_AddRef(This)    \
  10613.     (This)->lpVtbl -> AddRef(This)
  10614.  
  10615. #define IAMVideoCompression_Release(This)    \
  10616.     (This)->lpVtbl -> Release(This)
  10617.  
  10618.  
  10619. #define IAMVideoCompression_put_KeyFrameRate(This,KeyFrameRate)    \
  10620.     (This)->lpVtbl -> put_KeyFrameRate(This,KeyFrameRate)
  10621.  
  10622. #define IAMVideoCompression_get_KeyFrameRate(This,pKeyFrameRate)    \
  10623.     (This)->lpVtbl -> get_KeyFrameRate(This,pKeyFrameRate)
  10624.  
  10625. #define IAMVideoCompression_put_PFramesPerKeyFrame(This,PFramesPerKeyFrame)    \
  10626.     (This)->lpVtbl -> put_PFramesPerKeyFrame(This,PFramesPerKeyFrame)
  10627.  
  10628. #define IAMVideoCompression_get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame)    \
  10629.     (This)->lpVtbl -> get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame)
  10630.  
  10631. #define IAMVideoCompression_put_Quality(This,Quality)    \
  10632.     (This)->lpVtbl -> put_Quality(This,Quality)
  10633.  
  10634. #define IAMVideoCompression_get_Quality(This,pQuality)    \
  10635.     (This)->lpVtbl -> get_Quality(This,pQuality)
  10636.  
  10637. #define IAMVideoCompression_put_WindowSize(This,WindowSize)    \
  10638.     (This)->lpVtbl -> put_WindowSize(This,WindowSize)
  10639.  
  10640. #define IAMVideoCompression_get_WindowSize(This,pWindowSize)    \
  10641.     (This)->lpVtbl -> get_WindowSize(This,pWindowSize)
  10642.  
  10643. #define IAMVideoCompression_GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities)    \
  10644.     (This)->lpVtbl -> GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities)
  10645.  
  10646. #define IAMVideoCompression_OverrideKeyFrame(This,FrameNumber)    \
  10647.     (This)->lpVtbl -> OverrideKeyFrame(This,FrameNumber)
  10648.  
  10649. #define IAMVideoCompression_OverrideFrameSize(This,FrameNumber,Size)    \
  10650.     (This)->lpVtbl -> OverrideFrameSize(This,FrameNumber,Size)
  10651.  
  10652. #endif /* COBJMACROS */
  10653.  
  10654.  
  10655. #endif     /* C style interface */
  10656.  
  10657.  
  10658.  
  10659. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_KeyFrameRate_Proxy( 
  10660.     IAMVideoCompression * This,
  10661.     /* [in] */ long KeyFrameRate);
  10662.  
  10663.  
  10664. void __RPC_STUB IAMVideoCompression_put_KeyFrameRate_Stub(
  10665.     IRpcStubBuffer *This,
  10666.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10667.     PRPC_MESSAGE _pRpcMessage,
  10668.     DWORD *_pdwStubPhase);
  10669.  
  10670.  
  10671. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_KeyFrameRate_Proxy( 
  10672.     IAMVideoCompression * This,
  10673.     /* [out] */ long *pKeyFrameRate);
  10674.  
  10675.  
  10676. void __RPC_STUB IAMVideoCompression_get_KeyFrameRate_Stub(
  10677.     IRpcStubBuffer *This,
  10678.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10679.     PRPC_MESSAGE _pRpcMessage,
  10680.     DWORD *_pdwStubPhase);
  10681.  
  10682.  
  10683. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_PFramesPerKeyFrame_Proxy( 
  10684.     IAMVideoCompression * This,
  10685.     /* [in] */ long PFramesPerKeyFrame);
  10686.  
  10687.  
  10688. void __RPC_STUB IAMVideoCompression_put_PFramesPerKeyFrame_Stub(
  10689.     IRpcStubBuffer *This,
  10690.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10691.     PRPC_MESSAGE _pRpcMessage,
  10692.     DWORD *_pdwStubPhase);
  10693.  
  10694.  
  10695. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_PFramesPerKeyFrame_Proxy( 
  10696.     IAMVideoCompression * This,
  10697.     /* [out] */ long *pPFramesPerKeyFrame);
  10698.  
  10699.  
  10700. void __RPC_STUB IAMVideoCompression_get_PFramesPerKeyFrame_Stub(
  10701.     IRpcStubBuffer *This,
  10702.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10703.     PRPC_MESSAGE _pRpcMessage,
  10704.     DWORD *_pdwStubPhase);
  10705.  
  10706.  
  10707. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_Quality_Proxy( 
  10708.     IAMVideoCompression * This,
  10709.     /* [in] */ double Quality);
  10710.  
  10711.  
  10712. void __RPC_STUB IAMVideoCompression_put_Quality_Stub(
  10713.     IRpcStubBuffer *This,
  10714.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10715.     PRPC_MESSAGE _pRpcMessage,
  10716.     DWORD *_pdwStubPhase);
  10717.  
  10718.  
  10719. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_Quality_Proxy( 
  10720.     IAMVideoCompression * This,
  10721.     /* [out] */ double *pQuality);
  10722.  
  10723.  
  10724. void __RPC_STUB IAMVideoCompression_get_Quality_Stub(
  10725.     IRpcStubBuffer *This,
  10726.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10727.     PRPC_MESSAGE _pRpcMessage,
  10728.     DWORD *_pdwStubPhase);
  10729.  
  10730.  
  10731. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_WindowSize_Proxy( 
  10732.     IAMVideoCompression * This,
  10733.     /* [in] */ DWORDLONG WindowSize);
  10734.  
  10735.  
  10736. void __RPC_STUB IAMVideoCompression_put_WindowSize_Stub(
  10737.     IRpcStubBuffer *This,
  10738.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10739.     PRPC_MESSAGE _pRpcMessage,
  10740.     DWORD *_pdwStubPhase);
  10741.  
  10742.  
  10743. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_WindowSize_Proxy( 
  10744.     IAMVideoCompression * This,
  10745.     /* [out] */ DWORDLONG *pWindowSize);
  10746.  
  10747.  
  10748. void __RPC_STUB IAMVideoCompression_get_WindowSize_Stub(
  10749.     IRpcStubBuffer *This,
  10750.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10751.     PRPC_MESSAGE _pRpcMessage,
  10752.     DWORD *_pdwStubPhase);
  10753.  
  10754.  
  10755. HRESULT STDMETHODCALLTYPE IAMVideoCompression_GetInfo_Proxy( 
  10756.     IAMVideoCompression * This,
  10757.     /* [size_is][out] */ WCHAR *pszVersion,
  10758.     /* [out][in] */ int *pcbVersion,
  10759.     /* [size_is][out] */ LPWSTR pszDescription,
  10760.     /* [out][in] */ int *pcbDescription,
  10761.     /* [out] */ long *pDefaultKeyFrameRate,
  10762.     /* [out] */ long *pDefaultPFramesPerKey,
  10763.     /* [out] */ double *pDefaultQuality,
  10764.     /* [out] */ long *pCapabilities);
  10765.  
  10766.  
  10767. void __RPC_STUB IAMVideoCompression_GetInfo_Stub(
  10768.     IRpcStubBuffer *This,
  10769.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10770.     PRPC_MESSAGE _pRpcMessage,
  10771.     DWORD *_pdwStubPhase);
  10772.  
  10773.  
  10774. HRESULT STDMETHODCALLTYPE IAMVideoCompression_OverrideKeyFrame_Proxy( 
  10775.     IAMVideoCompression * This,
  10776.     /* [in] */ long FrameNumber);
  10777.  
  10778.  
  10779. void __RPC_STUB IAMVideoCompression_OverrideKeyFrame_Stub(
  10780.     IRpcStubBuffer *This,
  10781.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10782.     PRPC_MESSAGE _pRpcMessage,
  10783.     DWORD *_pdwStubPhase);
  10784.  
  10785.  
  10786. HRESULT STDMETHODCALLTYPE IAMVideoCompression_OverrideFrameSize_Proxy( 
  10787.     IAMVideoCompression * This,
  10788.     /* [in] */ long FrameNumber,
  10789.     /* [in] */ long Size);
  10790.  
  10791.  
  10792. void __RPC_STUB IAMVideoCompression_OverrideFrameSize_Stub(
  10793.     IRpcStubBuffer *This,
  10794.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10795.     PRPC_MESSAGE _pRpcMessage,
  10796.     DWORD *_pdwStubPhase);
  10797.  
  10798.  
  10799.  
  10800. #endif     /* __IAMVideoCompression_INTERFACE_DEFINED__ */
  10801.  
  10802.  
  10803. /* interface __MIDL_itf_strmif_0164 */
  10804. /* [local] */ 
  10805.  
  10806. typedef /* [public] */ 
  10807. enum __MIDL___MIDL_itf_strmif_0164_0001
  10808.     {    VfwCaptureDialog_Source    = 0x1,
  10809.     VfwCaptureDialog_Format    = 0x2,
  10810.     VfwCaptureDialog_Display    = 0x4
  10811.     }     VfwCaptureDialogs;
  10812.  
  10813. typedef /* [public] */ 
  10814. enum __MIDL___MIDL_itf_strmif_0164_0002
  10815.     {    VfwCompressDialog_Config    = 0x1,
  10816.     VfwCompressDialog_About    = 0x2,
  10817.     VfwCompressDialog_QueryConfig    = 0x4,
  10818.     VfwCompressDialog_QueryAbout    = 0x8
  10819.     }     VfwCompressDialogs;
  10820.  
  10821.  
  10822.  
  10823. extern RPC_IF_HANDLE __MIDL_itf_strmif_0164_v0_0_c_ifspec;
  10824. extern RPC_IF_HANDLE __MIDL_itf_strmif_0164_v0_0_s_ifspec;
  10825.  
  10826. #ifndef __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
  10827. #define __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
  10828.  
  10829. /* interface IAMVfwCaptureDialogs */
  10830. /* [unique][uuid][local][object] */ 
  10831.  
  10832.  
  10833. EXTERN_C const IID IID_IAMVfwCaptureDialogs;
  10834.  
  10835. #if defined(__cplusplus) && !defined(CINTERFACE)
  10836.     
  10837.     MIDL_INTERFACE("D8D715A0-6E5E-11D0-B3F0-00AA003761C5")
  10838.     IAMVfwCaptureDialogs : public IUnknown
  10839.     {
  10840.     public:
  10841.         virtual HRESULT STDMETHODCALLTYPE HasDialog( 
  10842.             /* [in] */ int iDialog) = 0;
  10843.         
  10844.         virtual HRESULT STDMETHODCALLTYPE ShowDialog( 
  10845.             /* [in] */ int iDialog,
  10846.             /* [in] */ HWND hwnd) = 0;
  10847.         
  10848.         virtual HRESULT STDMETHODCALLTYPE SendDriverMessage( 
  10849.             /* [in] */ int iDialog,
  10850.             /* [in] */ int uMsg,
  10851.             /* [in] */ long dw1,
  10852.             /* [in] */ long dw2) = 0;
  10853.         
  10854.     };
  10855.     
  10856. #else     /* C style interface */
  10857.  
  10858.     typedef struct IAMVfwCaptureDialogsVtbl
  10859.     {
  10860.         BEGIN_INTERFACE
  10861.         
  10862.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  10863.             IAMVfwCaptureDialogs * This,
  10864.             /* [in] */ REFIID riid,
  10865.             /* [iid_is][out] */ void **ppvObject);
  10866.         
  10867.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  10868.             IAMVfwCaptureDialogs * This);
  10869.         
  10870.         ULONG ( STDMETHODCALLTYPE *Release )( 
  10871.             IAMVfwCaptureDialogs * This);
  10872.         
  10873.         HRESULT ( STDMETHODCALLTYPE *HasDialog )( 
  10874.             IAMVfwCaptureDialogs * This,
  10875.             /* [in] */ int iDialog);
  10876.         
  10877.         HRESULT ( STDMETHODCALLTYPE *ShowDialog )( 
  10878.             IAMVfwCaptureDialogs * This,
  10879.             /* [in] */ int iDialog,
  10880.             /* [in] */ HWND hwnd);
  10881.         
  10882.         HRESULT ( STDMETHODCALLTYPE *SendDriverMessage )( 
  10883.             IAMVfwCaptureDialogs * This,
  10884.             /* [in] */ int iDialog,
  10885.             /* [in] */ int uMsg,
  10886.             /* [in] */ long dw1,
  10887.             /* [in] */ long dw2);
  10888.         
  10889.         END_INTERFACE
  10890.     } IAMVfwCaptureDialogsVtbl;
  10891.  
  10892.     interface IAMVfwCaptureDialogs
  10893.     {
  10894.         CONST_VTBL struct IAMVfwCaptureDialogsVtbl *lpVtbl;
  10895.     };
  10896.  
  10897.     
  10898.  
  10899. #ifdef COBJMACROS
  10900.  
  10901.  
  10902. #define IAMVfwCaptureDialogs_QueryInterface(This,riid,ppvObject)    \
  10903.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10904.  
  10905. #define IAMVfwCaptureDialogs_AddRef(This)    \
  10906.     (This)->lpVtbl -> AddRef(This)
  10907.  
  10908. #define IAMVfwCaptureDialogs_Release(This)    \
  10909.     (This)->lpVtbl -> Release(This)
  10910.  
  10911.  
  10912. #define IAMVfwCaptureDialogs_HasDialog(This,iDialog)    \
  10913.     (This)->lpVtbl -> HasDialog(This,iDialog)
  10914.  
  10915. #define IAMVfwCaptureDialogs_ShowDialog(This,iDialog,hwnd)    \
  10916.     (This)->lpVtbl -> ShowDialog(This,iDialog,hwnd)
  10917.  
  10918. #define IAMVfwCaptureDialogs_SendDriverMessage(This,iDialog,uMsg,dw1,dw2)    \
  10919.     (This)->lpVtbl -> SendDriverMessage(This,iDialog,uMsg,dw1,dw2)
  10920.  
  10921. #endif /* COBJMACROS */
  10922.  
  10923.  
  10924. #endif     /* C style interface */
  10925.  
  10926.  
  10927.  
  10928. HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_HasDialog_Proxy( 
  10929.     IAMVfwCaptureDialogs * This,
  10930.     /* [in] */ int iDialog);
  10931.  
  10932.  
  10933. void __RPC_STUB IAMVfwCaptureDialogs_HasDialog_Stub(
  10934.     IRpcStubBuffer *This,
  10935.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10936.     PRPC_MESSAGE _pRpcMessage,
  10937.     DWORD *_pdwStubPhase);
  10938.  
  10939.  
  10940. HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_ShowDialog_Proxy( 
  10941.     IAMVfwCaptureDialogs * This,
  10942.     /* [in] */ int iDialog,
  10943.     /* [in] */ HWND hwnd);
  10944.  
  10945.  
  10946. void __RPC_STUB IAMVfwCaptureDialogs_ShowDialog_Stub(
  10947.     IRpcStubBuffer *This,
  10948.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10949.     PRPC_MESSAGE _pRpcMessage,
  10950.     DWORD *_pdwStubPhase);
  10951.  
  10952.  
  10953. HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_SendDriverMessage_Proxy( 
  10954.     IAMVfwCaptureDialogs * This,
  10955.     /* [in] */ int iDialog,
  10956.     /* [in] */ int uMsg,
  10957.     /* [in] */ long dw1,
  10958.     /* [in] */ long dw2);
  10959.  
  10960.  
  10961. void __RPC_STUB IAMVfwCaptureDialogs_SendDriverMessage_Stub(
  10962.     IRpcStubBuffer *This,
  10963.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10964.     PRPC_MESSAGE _pRpcMessage,
  10965.     DWORD *_pdwStubPhase);
  10966.  
  10967.  
  10968.  
  10969. #endif     /* __IAMVfwCaptureDialogs_INTERFACE_DEFINED__ */
  10970.  
  10971.  
  10972. #ifndef __IAMVfwCompressDialogs_INTERFACE_DEFINED__
  10973. #define __IAMVfwCompressDialogs_INTERFACE_DEFINED__
  10974.  
  10975. /* interface IAMVfwCompressDialogs */
  10976. /* [unique][uuid][local][object] */ 
  10977.  
  10978.  
  10979. EXTERN_C const IID IID_IAMVfwCompressDialogs;
  10980.  
  10981. #if defined(__cplusplus) && !defined(CINTERFACE)
  10982.     
  10983.     MIDL_INTERFACE("D8D715A3-6E5E-11D0-B3F0-00AA003761C5")
  10984.     IAMVfwCompressDialogs : public IUnknown
  10985.     {
  10986.     public:
  10987.         virtual HRESULT STDMETHODCALLTYPE ShowDialog( 
  10988.             /* [in] */ int iDialog,
  10989.             /* [in] */ HWND hwnd) = 0;
  10990.         
  10991.         virtual HRESULT STDMETHODCALLTYPE GetState( 
  10992.             /* [size_is][out] */ LPVOID pState,
  10993.             /* [out][in] */ int *pcbState) = 0;
  10994.         
  10995.         virtual HRESULT STDMETHODCALLTYPE SetState( 
  10996.             /* [size_is][in] */ LPVOID pState,
  10997.             /* [in] */ int cbState) = 0;
  10998.         
  10999.         virtual HRESULT STDMETHODCALLTYPE SendDriverMessage( 
  11000.             /* [in] */ int uMsg,
  11001.             /* [in] */ long dw1,
  11002.             /* [in] */ long dw2) = 0;
  11003.         
  11004.     };
  11005.     
  11006. #else     /* C style interface */
  11007.  
  11008.     typedef struct IAMVfwCompressDialogsVtbl
  11009.     {
  11010.         BEGIN_INTERFACE
  11011.         
  11012.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  11013.             IAMVfwCompressDialogs * This,
  11014.             /* [in] */ REFIID riid,
  11015.             /* [iid_is][out] */ void **ppvObject);
  11016.         
  11017.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  11018.             IAMVfwCompressDialogs * This);
  11019.         
  11020.         ULONG ( STDMETHODCALLTYPE *Release )( 
  11021.             IAMVfwCompressDialogs * This);
  11022.         
  11023.         HRESULT ( STDMETHODCALLTYPE *ShowDialog )( 
  11024.             IAMVfwCompressDialogs * This,
  11025.             /* [in] */ int iDialog,
  11026.             /* [in] */ HWND hwnd);
  11027.         
  11028.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  11029.             IAMVfwCompressDialogs * This,
  11030.             /* [size_is][out] */ LPVOID pState,
  11031.             /* [out][in] */ int *pcbState);
  11032.         
  11033.         HRESULT ( STDMETHODCALLTYPE *SetState )( 
  11034.             IAMVfwCompressDialogs * This,
  11035.             /* [size_is][in] */ LPVOID pState,
  11036.             /* [in] */ int cbState);
  11037.         
  11038.         HRESULT ( STDMETHODCALLTYPE *SendDriverMessage )( 
  11039.             IAMVfwCompressDialogs * This,
  11040.             /* [in] */ int uMsg,
  11041.             /* [in] */ long dw1,
  11042.             /* [in] */ long dw2);
  11043.         
  11044.         END_INTERFACE
  11045.     } IAMVfwCompressDialogsVtbl;
  11046.  
  11047.     interface IAMVfwCompressDialogs
  11048.     {
  11049.         CONST_VTBL struct IAMVfwCompressDialogsVtbl *lpVtbl;
  11050.     };
  11051.  
  11052.     
  11053.  
  11054. #ifdef COBJMACROS
  11055.  
  11056.  
  11057. #define IAMVfwCompressDialogs_QueryInterface(This,riid,ppvObject)    \
  11058.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11059.  
  11060. #define IAMVfwCompressDialogs_AddRef(This)    \
  11061.     (This)->lpVtbl -> AddRef(This)
  11062.  
  11063. #define IAMVfwCompressDialogs_Release(This)    \
  11064.     (This)->lpVtbl -> Release(This)
  11065.  
  11066.  
  11067. #define IAMVfwCompressDialogs_ShowDialog(This,iDialog,hwnd)    \
  11068.     (This)->lpVtbl -> ShowDialog(This,iDialog,hwnd)
  11069.  
  11070. #define IAMVfwCompressDialogs_GetState(This,pState,pcbState)    \
  11071.     (This)->lpVtbl -> GetState(This,pState,pcbState)
  11072.  
  11073. #define IAMVfwCompressDialogs_SetState(This,pState,cbState)    \
  11074.     (This)->lpVtbl -> SetState(This,pState,cbState)
  11075.  
  11076. #define IAMVfwCompressDialogs_SendDriverMessage(This,uMsg,dw1,dw2)    \
  11077.     (This)->lpVtbl -> SendDriverMessage(This,uMsg,dw1,dw2)
  11078.  
  11079. #endif /* COBJMACROS */
  11080.  
  11081.  
  11082. #endif     /* C style interface */
  11083.  
  11084.  
  11085.  
  11086. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_ShowDialog_Proxy( 
  11087.     IAMVfwCompressDialogs * This,
  11088.     /* [in] */ int iDialog,
  11089.     /* [in] */ HWND hwnd);
  11090.  
  11091.  
  11092. void __RPC_STUB IAMVfwCompressDialogs_ShowDialog_Stub(
  11093.     IRpcStubBuffer *This,
  11094.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11095.     PRPC_MESSAGE _pRpcMessage,
  11096.     DWORD *_pdwStubPhase);
  11097.  
  11098.  
  11099. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_GetState_Proxy( 
  11100.     IAMVfwCompressDialogs * This,
  11101.     /* [size_is][out] */ LPVOID pState,
  11102.     /* [out][in] */ int *pcbState);
  11103.  
  11104.  
  11105. void __RPC_STUB IAMVfwCompressDialogs_GetState_Stub(
  11106.     IRpcStubBuffer *This,
  11107.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11108.     PRPC_MESSAGE _pRpcMessage,
  11109.     DWORD *_pdwStubPhase);
  11110.  
  11111.  
  11112. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_SetState_Proxy( 
  11113.     IAMVfwCompressDialogs * This,
  11114.     /* [size_is][in] */ LPVOID pState,
  11115.     /* [in] */ int cbState);
  11116.  
  11117.  
  11118. void __RPC_STUB IAMVfwCompressDialogs_SetState_Stub(
  11119.     IRpcStubBuffer *This,
  11120.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11121.     PRPC_MESSAGE _pRpcMessage,
  11122.     DWORD *_pdwStubPhase);
  11123.  
  11124.  
  11125. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_SendDriverMessage_Proxy( 
  11126.     IAMVfwCompressDialogs * This,
  11127.     /* [in] */ int uMsg,
  11128.     /* [in] */ long dw1,
  11129.     /* [in] */ long dw2);
  11130.  
  11131.  
  11132. void __RPC_STUB IAMVfwCompressDialogs_SendDriverMessage_Stub(
  11133.     IRpcStubBuffer *This,
  11134.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11135.     PRPC_MESSAGE _pRpcMessage,
  11136.     DWORD *_pdwStubPhase);
  11137.  
  11138.  
  11139.  
  11140. #endif     /* __IAMVfwCompressDialogs_INTERFACE_DEFINED__ */
  11141.  
  11142.  
  11143. #ifndef __IAMDroppedFrames_INTERFACE_DEFINED__
  11144. #define __IAMDroppedFrames_INTERFACE_DEFINED__
  11145.  
  11146. /* interface IAMDroppedFrames */
  11147. /* [unique][uuid][object] */ 
  11148.  
  11149.  
  11150. EXTERN_C const IID IID_IAMDroppedFrames;
  11151.  
  11152. #if defined(__cplusplus) && !defined(CINTERFACE)
  11153.     
  11154.     MIDL_INTERFACE("C6E13344-30AC-11d0-A18C-00A0C9118956")
  11155.     IAMDroppedFrames : public IUnknown
  11156.     {
  11157.     public:
  11158.         virtual HRESULT STDMETHODCALLTYPE GetNumDropped( 
  11159.             /* [out] */ long *plDropped) = 0;
  11160.         
  11161.         virtual HRESULT STDMETHODCALLTYPE GetNumNotDropped( 
  11162.             /* [out] */ long *plNotDropped) = 0;
  11163.         
  11164.         virtual HRESULT STDMETHODCALLTYPE GetDroppedInfo( 
  11165.             /* [in] */ long lSize,
  11166.             /* [out] */ long *plArray,
  11167.             /* [out] */ long *plNumCopied) = 0;
  11168.         
  11169.         virtual HRESULT STDMETHODCALLTYPE GetAverageFrameSize( 
  11170.             /* [out] */ long *plAverageSize) = 0;
  11171.         
  11172.     };
  11173.     
  11174. #else     /* C style interface */
  11175.  
  11176.     typedef struct IAMDroppedFramesVtbl
  11177.     {
  11178.         BEGIN_INTERFACE
  11179.         
  11180.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  11181.             IAMDroppedFrames * This,
  11182.             /* [in] */ REFIID riid,
  11183.             /* [iid_is][out] */ void **ppvObject);
  11184.         
  11185.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  11186.             IAMDroppedFrames * This);
  11187.         
  11188.         ULONG ( STDMETHODCALLTYPE *Release )( 
  11189.             IAMDroppedFrames * This);
  11190.         
  11191.         HRESULT ( STDMETHODCALLTYPE *GetNumDropped )( 
  11192.             IAMDroppedFrames * This,
  11193.             /* [out] */ long *plDropped);
  11194.         
  11195.         HRESULT ( STDMETHODCALLTYPE *GetNumNotDropped )( 
  11196.             IAMDroppedFrames * This,
  11197.             /* [out] */ long *plNotDropped);
  11198.         
  11199.         HRESULT ( STDMETHODCALLTYPE *GetDroppedInfo )( 
  11200.             IAMDroppedFrames * This,
  11201.             /* [in] */ long lSize,
  11202.             /* [out] */ long *plArray,
  11203.             /* [out] */ long *plNumCopied);
  11204.         
  11205.         HRESULT ( STDMETHODCALLTYPE *GetAverageFrameSize )( 
  11206.             IAMDroppedFrames * This,
  11207.             /* [out] */ long *plAverageSize);
  11208.         
  11209.         END_INTERFACE
  11210.     } IAMDroppedFramesVtbl;
  11211.  
  11212.     interface IAMDroppedFrames
  11213.     {
  11214.         CONST_VTBL struct IAMDroppedFramesVtbl *lpVtbl;
  11215.     };
  11216.  
  11217.     
  11218.  
  11219. #ifdef COBJMACROS
  11220.  
  11221.  
  11222. #define IAMDroppedFrames_QueryInterface(This,riid,ppvObject)    \
  11223.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11224.  
  11225. #define IAMDroppedFrames_AddRef(This)    \
  11226.     (This)->lpVtbl -> AddRef(This)
  11227.  
  11228. #define IAMDroppedFrames_Release(This)    \
  11229.     (This)->lpVtbl -> Release(This)
  11230.  
  11231.  
  11232. #define IAMDroppedFrames_GetNumDropped(This,plDropped)    \
  11233.     (This)->lpVtbl -> GetNumDropped(This,plDropped)
  11234.  
  11235. #define IAMDroppedFrames_GetNumNotDropped(This,plNotDropped)    \
  11236.     (This)->lpVtbl -> GetNumNotDropped(This,plNotDropped)
  11237.  
  11238. #define IAMDroppedFrames_GetDroppedInfo(This,lSize,plArray,plNumCopied)    \
  11239.     (This)->lpVtbl -> GetDroppedInfo(This,lSize,plArray,plNumCopied)
  11240.  
  11241. #define IAMDroppedFrames_GetAverageFrameSize(This,plAverageSize)    \
  11242.     (This)->lpVtbl -> GetAverageFrameSize(This,plAverageSize)
  11243.  
  11244. #endif /* COBJMACROS */
  11245.  
  11246.  
  11247. #endif     /* C style interface */
  11248.  
  11249.  
  11250.  
  11251. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetNumDropped_Proxy( 
  11252.     IAMDroppedFrames * This,
  11253.     /* [out] */ long *plDropped);
  11254.  
  11255.  
  11256. void __RPC_STUB IAMDroppedFrames_GetNumDropped_Stub(
  11257.     IRpcStubBuffer *This,
  11258.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11259.     PRPC_MESSAGE _pRpcMessage,
  11260.     DWORD *_pdwStubPhase);
  11261.  
  11262.  
  11263. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetNumNotDropped_Proxy( 
  11264.     IAMDroppedFrames * This,
  11265.     /* [out] */ long *plNotDropped);
  11266.  
  11267.  
  11268. void __RPC_STUB IAMDroppedFrames_GetNumNotDropped_Stub(
  11269.     IRpcStubBuffer *This,
  11270.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11271.     PRPC_MESSAGE _pRpcMessage,
  11272.     DWORD *_pdwStubPhase);
  11273.  
  11274.  
  11275. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetDroppedInfo_Proxy( 
  11276.     IAMDroppedFrames * This,
  11277.     /* [in] */ long lSize,
  11278.     /* [out] */ long *plArray,
  11279.     /* [out] */ long *plNumCopied);
  11280.  
  11281.  
  11282. void __RPC_STUB IAMDroppedFrames_GetDroppedInfo_Stub(
  11283.     IRpcStubBuffer *This,
  11284.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11285.     PRPC_MESSAGE _pRpcMessage,
  11286.     DWORD *_pdwStubPhase);
  11287.  
  11288.  
  11289. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetAverageFrameSize_Proxy( 
  11290.     IAMDroppedFrames * This,
  11291.     /* [out] */ long *plAverageSize);
  11292.  
  11293.  
  11294. void __RPC_STUB IAMDroppedFrames_GetAverageFrameSize_Stub(
  11295.     IRpcStubBuffer *This,
  11296.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11297.     PRPC_MESSAGE _pRpcMessage,
  11298.     DWORD *_pdwStubPhase);
  11299.  
  11300.  
  11301.  
  11302. #endif     /* __IAMDroppedFrames_INTERFACE_DEFINED__ */
  11303.  
  11304.  
  11305. /* interface __MIDL_itf_strmif_0167 */
  11306. /* [local] */ 
  11307.  
  11308. #define AMF_AUTOMATICGAIN -1.0
  11309.  
  11310.  
  11311. extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_c_ifspec;
  11312. extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_s_ifspec;
  11313.  
  11314. #ifndef __IAMAudioInputMixer_INTERFACE_DEFINED__
  11315. #define __IAMAudioInputMixer_INTERFACE_DEFINED__
  11316.  
  11317. /* interface IAMAudioInputMixer */
  11318. /* [unique][uuid][object] */ 
  11319.  
  11320.  
  11321. EXTERN_C const IID IID_IAMAudioInputMixer;
  11322.  
  11323. #if defined(__cplusplus) && !defined(CINTERFACE)
  11324.     
  11325.     MIDL_INTERFACE("54C39221-8380-11d0-B3F0-00AA003761C5")
  11326.     IAMAudioInputMixer : public IUnknown
  11327.     {
  11328.     public:
  11329.         virtual HRESULT STDMETHODCALLTYPE put_Enable( 
  11330.             /* [in] */ BOOL fEnable) = 0;
  11331.         
  11332.         virtual HRESULT STDMETHODCALLTYPE get_Enable( 
  11333.             /* [out] */ BOOL *pfEnable) = 0;
  11334.         
  11335.         virtual HRESULT STDMETHODCALLTYPE put_Mono( 
  11336.             /* [in] */ BOOL fMono) = 0;
  11337.         
  11338.         virtual HRESULT STDMETHODCALLTYPE get_Mono( 
  11339.             /* [out] */ BOOL *pfMono) = 0;
  11340.         
  11341.         virtual HRESULT STDMETHODCALLTYPE put_MixLevel( 
  11342.             /* [in] */ double Level) = 0;
  11343.         
  11344.         virtual HRESULT STDMETHODCALLTYPE get_MixLevel( 
  11345.             /* [out] */ double *pLevel) = 0;
  11346.         
  11347.         virtual HRESULT STDMETHODCALLTYPE put_Pan( 
  11348.             /* [in] */ double Pan) = 0;
  11349.         
  11350.         virtual HRESULT STDMETHODCALLTYPE get_Pan( 
  11351.             /* [out] */ double *pPan) = 0;
  11352.         
  11353.         virtual HRESULT STDMETHODCALLTYPE put_Loudness( 
  11354.             /* [in] */ BOOL fLoudness) = 0;
  11355.         
  11356.         virtual HRESULT STDMETHODCALLTYPE get_Loudness( 
  11357.             /* [out] */ BOOL *pfLoudness) = 0;
  11358.         
  11359.         virtual HRESULT STDMETHODCALLTYPE put_Treble( 
  11360.             /* [in] */ double Treble) = 0;
  11361.         
  11362.         virtual HRESULT STDMETHODCALLTYPE get_Treble( 
  11363.             /* [out] */ double *pTreble) = 0;
  11364.         
  11365.         virtual HRESULT STDMETHODCALLTYPE get_TrebleRange( 
  11366.             /* [out] */ double *pRange) = 0;
  11367.         
  11368.         virtual HRESULT STDMETHODCALLTYPE put_Bass( 
  11369.             /* [in] */ double Bass) = 0;
  11370.         
  11371.         virtual HRESULT STDMETHODCALLTYPE get_Bass( 
  11372.             /* [out] */ double *pBass) = 0;
  11373.         
  11374.         virtual HRESULT STDMETHODCALLTYPE get_BassRange( 
  11375.             /* [out] */ double *pRange) = 0;
  11376.         
  11377.     };
  11378.     
  11379. #else     /* C style interface */
  11380.  
  11381.     typedef struct IAMAudioInputMixerVtbl
  11382.     {
  11383.         BEGIN_INTERFACE
  11384.         
  11385.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  11386.             IAMAudioInputMixer * This,
  11387.             /* [in] */ REFIID riid,
  11388.             /* [iid_is][out] */ void **ppvObject);
  11389.         
  11390.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  11391.             IAMAudioInputMixer * This);
  11392.         
  11393.         ULONG ( STDMETHODCALLTYPE *Release )( 
  11394.             IAMAudioInputMixer * This);
  11395.         
  11396.         HRESULT ( STDMETHODCALLTYPE *put_Enable )( 
  11397.             IAMAudioInputMixer * This,
  11398.             /* [in] */ BOOL fEnable);
  11399.         
  11400.         HRESULT ( STDMETHODCALLTYPE *get_Enable )( 
  11401.             IAMAudioInputMixer * This,
  11402.             /* [out] */ BOOL *pfEnable);
  11403.         
  11404.         HRESULT ( STDMETHODCALLTYPE *put_Mono )( 
  11405.             IAMAudioInputMixer * This,
  11406.             /* [in] */ BOOL fMono);
  11407.         
  11408.         HRESULT ( STDMETHODCALLTYPE *get_Mono )( 
  11409.             IAMAudioInputMixer * This,
  11410.             /* [out] */ BOOL *pfMono);
  11411.         
  11412.         HRESULT ( STDMETHODCALLTYPE *put_MixLevel )( 
  11413.             IAMAudioInputMixer * This,
  11414.             /* [in] */ double Level);
  11415.         
  11416.         HRESULT ( STDMETHODCALLTYPE *get_MixLevel )( 
  11417.             IAMAudioInputMixer * This,
  11418.             /* [out] */ double *pLevel);
  11419.         
  11420.         HRESULT ( STDMETHODCALLTYPE *put_Pan )( 
  11421.             IAMAudioInputMixer * This,
  11422.             /* [in] */ double Pan);
  11423.         
  11424.         HRESULT ( STDMETHODCALLTYPE *get_Pan )( 
  11425.             IAMAudioInputMixer * This,
  11426.             /* [out] */ double *pPan);
  11427.         
  11428.         HRESULT ( STDMETHODCALLTYPE *put_Loudness )( 
  11429.             IAMAudioInputMixer * This,
  11430.             /* [in] */ BOOL fLoudness);
  11431.         
  11432.         HRESULT ( STDMETHODCALLTYPE *get_Loudness )( 
  11433.             IAMAudioInputMixer * This,
  11434.             /* [out] */ BOOL *pfLoudness);
  11435.         
  11436.         HRESULT ( STDMETHODCALLTYPE *put_Treble )( 
  11437.             IAMAudioInputMixer * This,
  11438.             /* [in] */ double Treble);
  11439.         
  11440.         HRESULT ( STDMETHODCALLTYPE *get_Treble )( 
  11441.             IAMAudioInputMixer * This,
  11442.             /* [out] */ double *pTreble);
  11443.         
  11444.         HRESULT ( STDMETHODCALLTYPE *get_TrebleRange )( 
  11445.             IAMAudioInputMixer * This,
  11446.             /* [out] */ double *pRange);
  11447.         
  11448.         HRESULT ( STDMETHODCALLTYPE *put_Bass )( 
  11449.             IAMAudioInputMixer * This,
  11450.             /* [in] */ double Bass);
  11451.         
  11452.         HRESULT ( STDMETHODCALLTYPE *get_Bass )( 
  11453.             IAMAudioInputMixer * This,
  11454.             /* [out] */ double *pBass);
  11455.         
  11456.         HRESULT ( STDMETHODCALLTYPE *get_BassRange )( 
  11457.             IAMAudioInputMixer * This,
  11458.             /* [out] */ double *pRange);
  11459.         
  11460.         END_INTERFACE
  11461.     } IAMAudioInputMixerVtbl;
  11462.  
  11463.     interface IAMAudioInputMixer
  11464.     {
  11465.         CONST_VTBL struct IAMAudioInputMixerVtbl *lpVtbl;
  11466.     };
  11467.  
  11468.     
  11469.  
  11470. #ifdef COBJMACROS
  11471.  
  11472.  
  11473. #define IAMAudioInputMixer_QueryInterface(This,riid,ppvObject)    \
  11474.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11475.  
  11476. #define IAMAudioInputMixer_AddRef(This)    \
  11477.     (This)->lpVtbl -> AddRef(This)
  11478.  
  11479. #define IAMAudioInputMixer_Release(This)    \
  11480.     (This)->lpVtbl -> Release(This)
  11481.  
  11482.  
  11483. #define IAMAudioInputMixer_put_Enable(This,fEnable)    \
  11484.     (This)->lpVtbl -> put_Enable(This,fEnable)
  11485.  
  11486. #define IAMAudioInputMixer_get_Enable(This,pfEnable)    \
  11487.     (This)->lpVtbl -> get_Enable(This,pfEnable)
  11488.  
  11489. #define IAMAudioInputMixer_put_Mono(This,fMono)    \
  11490.     (This)->lpVtbl -> put_Mono(This,fMono)
  11491.  
  11492. #define IAMAudioInputMixer_get_Mono(This,pfMono)    \
  11493.     (This)->lpVtbl -> get_Mono(This,pfMono)
  11494.  
  11495. #define IAMAudioInputMixer_put_MixLevel(This,Level)    \
  11496.     (This)->lpVtbl -> put_MixLevel(This,Level)
  11497.  
  11498. #define IAMAudioInputMixer_get_MixLevel(This,pLevel)    \
  11499.     (This)->lpVtbl -> get_MixLevel(This,pLevel)
  11500.  
  11501. #define IAMAudioInputMixer_put_Pan(This,Pan)    \
  11502.     (This)->lpVtbl -> put_Pan(This,Pan)
  11503.  
  11504. #define IAMAudioInputMixer_get_Pan(This,pPan)    \
  11505.     (This)->lpVtbl -> get_Pan(This,pPan)
  11506.  
  11507. #define IAMAudioInputMixer_put_Loudness(This,fLoudness)    \
  11508.     (This)->lpVtbl -> put_Loudness(This,fLoudness)
  11509.  
  11510. #define IAMAudioInputMixer_get_Loudness(This,pfLoudness)    \
  11511.     (This)->lpVtbl -> get_Loudness(This,pfLoudness)
  11512.  
  11513. #define IAMAudioInputMixer_put_Treble(This,Treble)    \
  11514.     (This)->lpVtbl -> put_Treble(This,Treble)
  11515.  
  11516. #define IAMAudioInputMixer_get_Treble(This,pTreble)    \
  11517.     (This)->lpVtbl -> get_Treble(This,pTreble)
  11518.  
  11519. #define IAMAudioInputMixer_get_TrebleRange(This,pRange)    \
  11520.     (This)->lpVtbl -> get_TrebleRange(This,pRange)
  11521.  
  11522. #define IAMAudioInputMixer_put_Bass(This,Bass)    \
  11523.     (This)->lpVtbl -> put_Bass(This,Bass)
  11524.  
  11525. #define IAMAudioInputMixer_get_Bass(This,pBass)    \
  11526.     (This)->lpVtbl -> get_Bass(This,pBass)
  11527.  
  11528. #define IAMAudioInputMixer_get_BassRange(This,pRange)    \
  11529.     (This)->lpVtbl -> get_BassRange(This,pRange)
  11530.  
  11531. #endif /* COBJMACROS */
  11532.  
  11533.  
  11534. #endif     /* C style interface */
  11535.  
  11536.  
  11537.  
  11538. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Enable_Proxy( 
  11539.     IAMAudioInputMixer * This,
  11540.     /* [in] */ BOOL fEnable);
  11541.  
  11542.  
  11543. void __RPC_STUB IAMAudioInputMixer_put_Enable_Stub(
  11544.     IRpcStubBuffer *This,
  11545.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11546.     PRPC_MESSAGE _pRpcMessage,
  11547.     DWORD *_pdwStubPhase);
  11548.  
  11549.  
  11550. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Enable_Proxy( 
  11551.     IAMAudioInputMixer * This,
  11552.     /* [out] */ BOOL *pfEnable);
  11553.  
  11554.  
  11555. void __RPC_STUB IAMAudioInputMixer_get_Enable_Stub(
  11556.     IRpcStubBuffer *This,
  11557.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11558.     PRPC_MESSAGE _pRpcMessage,
  11559.     DWORD *_pdwStubPhase);
  11560.  
  11561.  
  11562. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Mono_Proxy( 
  11563.     IAMAudioInputMixer * This,
  11564.     /* [in] */ BOOL fMono);
  11565.  
  11566.  
  11567. void __RPC_STUB IAMAudioInputMixer_put_Mono_Stub(
  11568.     IRpcStubBuffer *This,
  11569.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11570.     PRPC_MESSAGE _pRpcMessage,
  11571.     DWORD *_pdwStubPhase);
  11572.  
  11573.  
  11574. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Mono_Proxy( 
  11575.     IAMAudioInputMixer * This,
  11576.     /* [out] */ BOOL *pfMono);
  11577.  
  11578.  
  11579. void __RPC_STUB IAMAudioInputMixer_get_Mono_Stub(
  11580.     IRpcStubBuffer *This,
  11581.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11582.     PRPC_MESSAGE _pRpcMessage,
  11583.     DWORD *_pdwStubPhase);
  11584.  
  11585.  
  11586. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_MixLevel_Proxy( 
  11587.     IAMAudioInputMixer * This,
  11588.     /* [in] */ double Level);
  11589.  
  11590.  
  11591. void __RPC_STUB IAMAudioInputMixer_put_MixLevel_Stub(
  11592.     IRpcStubBuffer *This,
  11593.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11594.     PRPC_MESSAGE _pRpcMessage,
  11595.     DWORD *_pdwStubPhase);
  11596.  
  11597.  
  11598. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_MixLevel_Proxy( 
  11599.     IAMAudioInputMixer * This,
  11600.     /* [out] */ double *pLevel);
  11601.  
  11602.  
  11603. void __RPC_STUB IAMAudioInputMixer_get_MixLevel_Stub(
  11604.     IRpcStubBuffer *This,
  11605.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11606.     PRPC_MESSAGE _pRpcMessage,
  11607.     DWORD *_pdwStubPhase);
  11608.  
  11609.  
  11610. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Pan_Proxy( 
  11611.     IAMAudioInputMixer * This,
  11612.     /* [in] */ double Pan);
  11613.  
  11614.  
  11615. void __RPC_STUB IAMAudioInputMixer_put_Pan_Stub(
  11616.     IRpcStubBuffer *This,
  11617.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11618.     PRPC_MESSAGE _pRpcMessage,
  11619.     DWORD *_pdwStubPhase);
  11620.  
  11621.  
  11622. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Pan_Proxy( 
  11623.     IAMAudioInputMixer * This,
  11624.     /* [out] */ double *pPan);
  11625.  
  11626.  
  11627. void __RPC_STUB IAMAudioInputMixer_get_Pan_Stub(
  11628.     IRpcStubBuffer *This,
  11629.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11630.     PRPC_MESSAGE _pRpcMessage,
  11631.     DWORD *_pdwStubPhase);
  11632.  
  11633.  
  11634. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Loudness_Proxy( 
  11635.     IAMAudioInputMixer * This,
  11636.     /* [in] */ BOOL fLoudness);
  11637.  
  11638.  
  11639. void __RPC_STUB IAMAudioInputMixer_put_Loudness_Stub(
  11640.     IRpcStubBuffer *This,
  11641.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11642.     PRPC_MESSAGE _pRpcMessage,
  11643.     DWORD *_pdwStubPhase);
  11644.  
  11645.  
  11646. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Loudness_Proxy( 
  11647.     IAMAudioInputMixer * This,
  11648.     /* [out] */ BOOL *pfLoudness);
  11649.  
  11650.  
  11651. void __RPC_STUB IAMAudioInputMixer_get_Loudness_Stub(
  11652.     IRpcStubBuffer *This,
  11653.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11654.     PRPC_MESSAGE _pRpcMessage,
  11655.     DWORD *_pdwStubPhase);
  11656.  
  11657.  
  11658. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Treble_Proxy( 
  11659.     IAMAudioInputMixer * This,
  11660.     /* [in] */ double Treble);
  11661.  
  11662.  
  11663. void __RPC_STUB IAMAudioInputMixer_put_Treble_Stub(
  11664.     IRpcStubBuffer *This,
  11665.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11666.     PRPC_MESSAGE _pRpcMessage,
  11667.     DWORD *_pdwStubPhase);
  11668.  
  11669.  
  11670. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Treble_Proxy( 
  11671.     IAMAudioInputMixer * This,
  11672.     /* [out] */ double *pTreble);
  11673.  
  11674.  
  11675. void __RPC_STUB IAMAudioInputMixer_get_Treble_Stub(
  11676.     IRpcStubBuffer *This,
  11677.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11678.     PRPC_MESSAGE _pRpcMessage,
  11679.     DWORD *_pdwStubPhase);
  11680.  
  11681.  
  11682. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_TrebleRange_Proxy( 
  11683.     IAMAudioInputMixer * This,
  11684.     /* [out] */ double *pRange);
  11685.  
  11686.  
  11687. void __RPC_STUB IAMAudioInputMixer_get_TrebleRange_Stub(
  11688.     IRpcStubBuffer *This,
  11689.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11690.     PRPC_MESSAGE _pRpcMessage,
  11691.     DWORD *_pdwStubPhase);
  11692.  
  11693.  
  11694. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Bass_Proxy( 
  11695.     IAMAudioInputMixer * This,
  11696.     /* [in] */ double Bass);
  11697.  
  11698.  
  11699. void __RPC_STUB IAMAudioInputMixer_put_Bass_Stub(
  11700.     IRpcStubBuffer *This,
  11701.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11702.     PRPC_MESSAGE _pRpcMessage,
  11703.     DWORD *_pdwStubPhase);
  11704.  
  11705.  
  11706. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Bass_Proxy( 
  11707.     IAMAudioInputMixer * This,
  11708.     /* [out] */ double *pBass);
  11709.  
  11710.  
  11711. void __RPC_STUB IAMAudioInputMixer_get_Bass_Stub(
  11712.     IRpcStubBuffer *This,
  11713.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11714.     PRPC_MESSAGE _pRpcMessage,
  11715.     DWORD *_pdwStubPhase);
  11716.  
  11717.  
  11718. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_BassRange_Proxy( 
  11719.     IAMAudioInputMixer * This,
  11720.     /* [out] */ double *pRange);
  11721.  
  11722.  
  11723. void __RPC_STUB IAMAudioInputMixer_get_BassRange_Stub(
  11724.     IRpcStubBuffer *This,
  11725.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11726.     PRPC_MESSAGE _pRpcMessage,
  11727.     DWORD *_pdwStubPhase);
  11728.  
  11729.  
  11730.  
  11731. #endif     /* __IAMAudioInputMixer_INTERFACE_DEFINED__ */
  11732.  
  11733.  
  11734. #ifndef __IAMBufferNegotiation_INTERFACE_DEFINED__
  11735. #define __IAMBufferNegotiation_INTERFACE_DEFINED__
  11736.  
  11737. /* interface IAMBufferNegotiation */
  11738. /* [unique][uuid][object] */ 
  11739.  
  11740.  
  11741. EXTERN_C const IID IID_IAMBufferNegotiation;
  11742.  
  11743. #if defined(__cplusplus) && !defined(CINTERFACE)
  11744.     
  11745.     MIDL_INTERFACE("56ED71A0-AF5F-11D0-B3F0-00AA003761C5")
  11746.     IAMBufferNegotiation : public IUnknown
  11747.     {
  11748.     public:
  11749.         virtual HRESULT STDMETHODCALLTYPE SuggestAllocatorProperties( 
  11750.             /* [in] */ const ALLOCATOR_PROPERTIES *pprop) = 0;
  11751.         
  11752.         virtual HRESULT STDMETHODCALLTYPE GetAllocatorProperties( 
  11753.             /* [out] */ ALLOCATOR_PROPERTIES *pprop) = 0;
  11754.         
  11755.     };
  11756.     
  11757. #else     /* C style interface */
  11758.  
  11759.     typedef struct IAMBufferNegotiationVtbl
  11760.     {
  11761.         BEGIN_INTERFACE
  11762.         
  11763.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  11764.             IAMBufferNegotiation * This,
  11765.             /* [in] */ REFIID riid,
  11766.             /* [iid_is][out] */ void **ppvObject);
  11767.         
  11768.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  11769.             IAMBufferNegotiation * This);
  11770.         
  11771.         ULONG ( STDMETHODCALLTYPE *Release )( 
  11772.             IAMBufferNegotiation * This);
  11773.         
  11774.         HRESULT ( STDMETHODCALLTYPE *SuggestAllocatorProperties )( 
  11775.             IAMBufferNegotiation * This,
  11776.             /* [in] */ const ALLOCATOR_PROPERTIES *pprop);
  11777.         
  11778.         HRESULT ( STDMETHODCALLTYPE *GetAllocatorProperties )( 
  11779.             IAMBufferNegotiation * This,
  11780.             /* [out] */ ALLOCATOR_PROPERTIES *pprop);
  11781.         
  11782.         END_INTERFACE
  11783.     } IAMBufferNegotiationVtbl;
  11784.  
  11785.     interface IAMBufferNegotiation
  11786.     {
  11787.         CONST_VTBL struct IAMBufferNegotiationVtbl *lpVtbl;
  11788.     };
  11789.  
  11790.     
  11791.  
  11792. #ifdef COBJMACROS
  11793.  
  11794.  
  11795. #define IAMBufferNegotiation_QueryInterface(This,riid,ppvObject)    \
  11796.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11797.  
  11798. #define IAMBufferNegotiation_AddRef(This)    \
  11799.     (This)->lpVtbl -> AddRef(This)
  11800.  
  11801. #define IAMBufferNegotiation_Release(This)    \
  11802.     (This)->lpVtbl -> Release(This)
  11803.  
  11804.  
  11805. #define IAMBufferNegotiation_SuggestAllocatorProperties(This,pprop)    \
  11806.     (This)->lpVtbl -> SuggestAllocatorProperties(This,pprop)
  11807.  
  11808. #define IAMBufferNegotiation_GetAllocatorProperties(This,pprop)    \
  11809.     (This)->lpVtbl -> GetAllocatorProperties(This,pprop)
  11810.  
  11811. #endif /* COBJMACROS */
  11812.  
  11813.  
  11814. #endif     /* C style interface */
  11815.  
  11816.  
  11817.  
  11818. HRESULT STDMETHODCALLTYPE IAMBufferNegotiation_SuggestAllocatorProperties_Proxy( 
  11819.     IAMBufferNegotiation * This,
  11820.     /* [in] */ const ALLOCATOR_PROPERTIES *pprop);
  11821.  
  11822.  
  11823. void __RPC_STUB IAMBufferNegotiation_SuggestAllocatorProperties_Stub(
  11824.     IRpcStubBuffer *This,
  11825.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11826.     PRPC_MESSAGE _pRpcMessage,
  11827.     DWORD *_pdwStubPhase);
  11828.  
  11829.  
  11830. HRESULT STDMETHODCALLTYPE IAMBufferNegotiation_GetAllocatorProperties_Proxy( 
  11831.     IAMBufferNegotiation * This,
  11832.     /* [out] */ ALLOCATOR_PROPERTIES *pprop);
  11833.  
  11834.  
  11835. void __RPC_STUB IAMBufferNegotiation_GetAllocatorProperties_Stub(
  11836.     IRpcStubBuffer *This,
  11837.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11838.     PRPC_MESSAGE _pRpcMessage,
  11839.     DWORD *_pdwStubPhase);
  11840.  
  11841.  
  11842.  
  11843. #endif     /* __IAMBufferNegotiation_INTERFACE_DEFINED__ */
  11844.  
  11845.  
  11846. /* interface __MIDL_itf_strmif_0169 */
  11847. /* [local] */ 
  11848.  
  11849. typedef 
  11850. enum tagAnalogVideoStandard
  11851.     {    AnalogVideo_None    = 0,
  11852.     AnalogVideo_NTSC_M    = 0x1,
  11853.     AnalogVideo_NTSC_M_J    = 0x2,
  11854.     AnalogVideo_NTSC_433    = 0x4,
  11855.     AnalogVideo_PAL_B    = 0x10,
  11856.     AnalogVideo_PAL_D    = 0x20,
  11857.     AnalogVideo_PAL_G    = 0x40,
  11858.     AnalogVideo_PAL_H    = 0x80,
  11859.     AnalogVideo_PAL_I    = 0x100,
  11860.     AnalogVideo_PAL_M    = 0x200,
  11861.     AnalogVideo_PAL_N    = 0x400,
  11862.     AnalogVideo_PAL_60    = 0x800,
  11863.     AnalogVideo_SECAM_B    = 0x1000,
  11864.     AnalogVideo_SECAM_D    = 0x2000,
  11865.     AnalogVideo_SECAM_G    = 0x4000,
  11866.     AnalogVideo_SECAM_H    = 0x8000,
  11867.     AnalogVideo_SECAM_K    = 0x10000,
  11868.     AnalogVideo_SECAM_K1    = 0x20000,
  11869.     AnalogVideo_SECAM_L    = 0x40000,
  11870.     AnalogVideo_SECAM_L1    = 0x80000,
  11871.     AnalogVideo_PAL_N_COMBO    = 0x100000
  11872.     }     AnalogVideoStandard;
  11873.  
  11874. #define AnalogVideo_NTSC_Mask  0x00000007
  11875. #define AnalogVideo_PAL_Mask   0x00100FF0
  11876. #define AnalogVideo_SECAM_Mask 0x000FF000
  11877. typedef 
  11878. enum tagTunerInputType
  11879.     {    TunerInputCable    = 0,
  11880.     TunerInputAntenna    = TunerInputCable + 1
  11881.     }     TunerInputType;
  11882.  
  11883. typedef /* [public] */ 
  11884. enum __MIDL___MIDL_itf_strmif_0169_0001
  11885.     {    VideoCopyProtectionMacrovisionBasic    = 0,
  11886.     VideoCopyProtectionMacrovisionCBI    = VideoCopyProtectionMacrovisionBasic + 1
  11887.     }     VideoCopyProtectionType;
  11888.  
  11889. typedef 
  11890. enum tagPhysicalConnectorType
  11891.     {    PhysConn_Video_Tuner    = 1,
  11892.     PhysConn_Video_Composite    = PhysConn_Video_Tuner + 1,
  11893.     PhysConn_Video_SVideo    = PhysConn_Video_Composite + 1,
  11894.     PhysConn_Video_RGB    = PhysConn_Video_SVideo + 1,
  11895.     PhysConn_Video_YRYBY    = PhysConn_Video_RGB + 1,
  11896.     PhysConn_Video_SerialDigital    = PhysConn_Video_YRYBY + 1,
  11897.     PhysConn_Video_ParallelDigital    = PhysConn_Video_SerialDigital + 1,
  11898.     PhysConn_Video_SCSI    = PhysConn_Video_ParallelDigital + 1,
  11899.     PhysConn_Video_AUX    = PhysConn_Video_SCSI + 1,
  11900.     PhysConn_Video_1394    = PhysConn_Video_AUX + 1,
  11901.     PhysConn_Video_USB    = PhysConn_Video_1394 + 1,
  11902.     PhysConn_Video_VideoDecoder    = PhysConn_Video_USB + 1,
  11903.     PhysConn_Video_VideoEncoder    = PhysConn_Video_VideoDecoder + 1,
  11904.     PhysConn_Video_SCART    = PhysConn_Video_VideoEncoder + 1,
  11905.     PhysConn_Video_Black    = PhysConn_Video_SCART + 1,
  11906.     PhysConn_Audio_Tuner    = 0x1000,
  11907.     PhysConn_Audio_Line    = PhysConn_Audio_Tuner + 1,
  11908.     PhysConn_Audio_Mic    = PhysConn_Audio_Line + 1,
  11909.     PhysConn_Audio_AESDigital    = PhysConn_Audio_Mic + 1,
  11910.     PhysConn_Audio_SPDIFDigital    = PhysConn_Audio_AESDigital + 1,
  11911.     PhysConn_Audio_SCSI    = PhysConn_Audio_SPDIFDigital + 1,
  11912.     PhysConn_Audio_AUX    = PhysConn_Audio_SCSI + 1,
  11913.     PhysConn_Audio_1394    = PhysConn_Audio_AUX + 1,
  11914.     PhysConn_Audio_USB    = PhysConn_Audio_1394 + 1,
  11915.     PhysConn_Audio_AudioDecoder    = PhysConn_Audio_USB + 1
  11916.     }     PhysicalConnectorType;
  11917.  
  11918.  
  11919.  
  11920. extern RPC_IF_HANDLE __MIDL_itf_strmif_0169_v0_0_c_ifspec;
  11921. extern RPC_IF_HANDLE __MIDL_itf_strmif_0169_v0_0_s_ifspec;
  11922.  
  11923. #ifndef __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
  11924. #define __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
  11925.  
  11926. /* interface IAMAnalogVideoDecoder */
  11927. /* [unique][uuid][object] */ 
  11928.  
  11929.  
  11930. EXTERN_C const IID IID_IAMAnalogVideoDecoder;
  11931.  
  11932. #if defined(__cplusplus) && !defined(CINTERFACE)
  11933.     
  11934.     MIDL_INTERFACE("C6E13350-30AC-11d0-A18C-00A0C9118956")
  11935.     IAMAnalogVideoDecoder : public IUnknown
  11936.     {
  11937.     public:
  11938.         virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats( 
  11939.             /* [out] */ long *lAnalogVideoStandard) = 0;
  11940.         
  11941.         virtual HRESULT STDMETHODCALLTYPE put_TVFormat( 
  11942.             /* [in] */ long lAnalogVideoStandard) = 0;
  11943.         
  11944.         virtual HRESULT STDMETHODCALLTYPE get_TVFormat( 
  11945.             /* [out] */ long *plAnalogVideoStandard) = 0;
  11946.         
  11947.         virtual HRESULT STDMETHODCALLTYPE get_HorizontalLocked( 
  11948.             /* [out] */ long *plLocked) = 0;
  11949.         
  11950.         virtual HRESULT STDMETHODCALLTYPE put_VCRHorizontalLocking( 
  11951.             /* [in] */ long lVCRHorizontalLocking) = 0;
  11952.         
  11953.         virtual HRESULT STDMETHODCALLTYPE get_VCRHorizontalLocking( 
  11954.             /* [out] */ long *plVCRHorizontalLocking) = 0;
  11955.         
  11956.         virtual HRESULT STDMETHODCALLTYPE get_NumberOfLines( 
  11957.             /* [out] */ long *plNumberOfLines) = 0;
  11958.         
  11959.         virtual HRESULT STDMETHODCALLTYPE put_OutputEnable( 
  11960.             /* [in] */ long lOutputEnable) = 0;
  11961.         
  11962.         virtual HRESULT STDMETHODCALLTYPE get_OutputEnable( 
  11963.             /* [out] */ long *plOutputEnable) = 0;
  11964.         
  11965.     };
  11966.     
  11967. #else     /* C style interface */
  11968.  
  11969.     typedef struct IAMAnalogVideoDecoderVtbl
  11970.     {
  11971.         BEGIN_INTERFACE
  11972.         
  11973.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  11974.             IAMAnalogVideoDecoder * This,
  11975.             /* [in] */ REFIID riid,
  11976.             /* [iid_is][out] */ void **ppvObject);
  11977.         
  11978.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  11979.             IAMAnalogVideoDecoder * This);
  11980.         
  11981.         ULONG ( STDMETHODCALLTYPE *Release )( 
  11982.             IAMAnalogVideoDecoder * This);
  11983.         
  11984.         HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )( 
  11985.             IAMAnalogVideoDecoder * This,
  11986.             /* [out] */ long *lAnalogVideoStandard);
  11987.         
  11988.         HRESULT ( STDMETHODCALLTYPE *put_TVFormat )( 
  11989.             IAMAnalogVideoDecoder * This,
  11990.             /* [in] */ long lAnalogVideoStandard);
  11991.         
  11992.         HRESULT ( STDMETHODCALLTYPE *get_TVFormat )( 
  11993.             IAMAnalogVideoDecoder * This,
  11994.             /* [out] */ long *plAnalogVideoStandard);
  11995.         
  11996.         HRESULT ( STDMETHODCALLTYPE *get_HorizontalLocked )( 
  11997.             IAMAnalogVideoDecoder * This,
  11998.             /* [out] */ long *plLocked);
  11999.         
  12000.         HRESULT ( STDMETHODCALLTYPE *put_VCRHorizontalLocking )( 
  12001.             IAMAnalogVideoDecoder * This,
  12002.             /* [in] */ long lVCRHorizontalLocking);
  12003.         
  12004.         HRESULT ( STDMETHODCALLTYPE *get_VCRHorizontalLocking )( 
  12005.             IAMAnalogVideoDecoder * This,
  12006.             /* [out] */ long *plVCRHorizontalLocking);
  12007.         
  12008.         HRESULT ( STDMETHODCALLTYPE *get_NumberOfLines )( 
  12009.             IAMAnalogVideoDecoder * This,
  12010.             /* [out] */ long *plNumberOfLines);
  12011.         
  12012.         HRESULT ( STDMETHODCALLTYPE *put_OutputEnable )( 
  12013.             IAMAnalogVideoDecoder * This,
  12014.             /* [in] */ long lOutputEnable);
  12015.         
  12016.         HRESULT ( STDMETHODCALLTYPE *get_OutputEnable )( 
  12017.             IAMAnalogVideoDecoder * This,
  12018.             /* [out] */ long *plOutputEnable);
  12019.         
  12020.         END_INTERFACE
  12021.     } IAMAnalogVideoDecoderVtbl;
  12022.  
  12023.     interface IAMAnalogVideoDecoder
  12024.     {
  12025.         CONST_VTBL struct IAMAnalogVideoDecoderVtbl *lpVtbl;
  12026.     };
  12027.  
  12028.     
  12029.  
  12030. #ifdef COBJMACROS
  12031.  
  12032.  
  12033. #define IAMAnalogVideoDecoder_QueryInterface(This,riid,ppvObject)    \
  12034.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12035.  
  12036. #define IAMAnalogVideoDecoder_AddRef(This)    \
  12037.     (This)->lpVtbl -> AddRef(This)
  12038.  
  12039. #define IAMAnalogVideoDecoder_Release(This)    \
  12040.     (This)->lpVtbl -> Release(This)
  12041.  
  12042.  
  12043. #define IAMAnalogVideoDecoder_get_AvailableTVFormats(This,lAnalogVideoStandard)    \
  12044.     (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
  12045.  
  12046. #define IAMAnalogVideoDecoder_put_TVFormat(This,lAnalogVideoStandard)    \
  12047.     (This)->lpVtbl -> put_TVFormat(This,lAnalogVideoStandard)
  12048.  
  12049. #define IAMAnalogVideoDecoder_get_TVFormat(This,plAnalogVideoStandard)    \
  12050.     (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
  12051.  
  12052. #define IAMAnalogVideoDecoder_get_HorizontalLocked(This,plLocked)    \
  12053.     (This)->lpVtbl -> get_HorizontalLocked(This,plLocked)
  12054.  
  12055. #define IAMAnalogVideoDecoder_put_VCRHorizontalLocking(This,lVCRHorizontalLocking)    \
  12056.     (This)->lpVtbl -> put_VCRHorizontalLocking(This,lVCRHorizontalLocking)
  12057.  
  12058. #define IAMAnalogVideoDecoder_get_VCRHorizontalLocking(This,plVCRHorizontalLocking)    \
  12059.     (This)->lpVtbl -> get_VCRHorizontalLocking(This,plVCRHorizontalLocking)
  12060.  
  12061. #define IAMAnalogVideoDecoder_get_NumberOfLines(This,plNumberOfLines)    \
  12062.     (This)->lpVtbl -> get_NumberOfLines(This,plNumberOfLines)
  12063.  
  12064. #define IAMAnalogVideoDecoder_put_OutputEnable(This,lOutputEnable)    \
  12065.     (This)->lpVtbl -> put_OutputEnable(This,lOutputEnable)
  12066.  
  12067. #define IAMAnalogVideoDecoder_get_OutputEnable(This,plOutputEnable)    \
  12068.     (This)->lpVtbl -> get_OutputEnable(This,plOutputEnable)
  12069.  
  12070. #endif /* COBJMACROS */
  12071.  
  12072.  
  12073. #endif     /* C style interface */
  12074.  
  12075.  
  12076.  
  12077. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_AvailableTVFormats_Proxy( 
  12078.     IAMAnalogVideoDecoder * This,
  12079.     /* [out] */ long *lAnalogVideoStandard);
  12080.  
  12081.  
  12082. void __RPC_STUB IAMAnalogVideoDecoder_get_AvailableTVFormats_Stub(
  12083.     IRpcStubBuffer *This,
  12084.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12085.     PRPC_MESSAGE _pRpcMessage,
  12086.     DWORD *_pdwStubPhase);
  12087.  
  12088.  
  12089. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_TVFormat_Proxy( 
  12090.     IAMAnalogVideoDecoder * This,
  12091.     /* [in] */ long lAnalogVideoStandard);
  12092.  
  12093.  
  12094. void __RPC_STUB IAMAnalogVideoDecoder_put_TVFormat_Stub(
  12095.     IRpcStubBuffer *This,
  12096.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12097.     PRPC_MESSAGE _pRpcMessage,
  12098.     DWORD *_pdwStubPhase);
  12099.  
  12100.  
  12101. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_TVFormat_Proxy( 
  12102.     IAMAnalogVideoDecoder * This,
  12103.     /* [out] */ long *plAnalogVideoStandard);
  12104.  
  12105.  
  12106. void __RPC_STUB IAMAnalogVideoDecoder_get_TVFormat_Stub(
  12107.     IRpcStubBuffer *This,
  12108.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12109.     PRPC_MESSAGE _pRpcMessage,
  12110.     DWORD *_pdwStubPhase);
  12111.  
  12112.  
  12113. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_HorizontalLocked_Proxy( 
  12114.     IAMAnalogVideoDecoder * This,
  12115.     /* [out] */ long *plLocked);
  12116.  
  12117.  
  12118. void __RPC_STUB IAMAnalogVideoDecoder_get_HorizontalLocked_Stub(
  12119.     IRpcStubBuffer *This,
  12120.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12121.     PRPC_MESSAGE _pRpcMessage,
  12122.     DWORD *_pdwStubPhase);
  12123.  
  12124.  
  12125. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Proxy( 
  12126.     IAMAnalogVideoDecoder * This,
  12127.     /* [in] */ long lVCRHorizontalLocking);
  12128.  
  12129.  
  12130. void __RPC_STUB IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Stub(
  12131.     IRpcStubBuffer *This,
  12132.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12133.     PRPC_MESSAGE _pRpcMessage,
  12134.     DWORD *_pdwStubPhase);
  12135.  
  12136.  
  12137. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Proxy( 
  12138.     IAMAnalogVideoDecoder * This,
  12139.     /* [out] */ long *plVCRHorizontalLocking);
  12140.  
  12141.  
  12142. void __RPC_STUB IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Stub(
  12143.     IRpcStubBuffer *This,
  12144.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12145.     PRPC_MESSAGE _pRpcMessage,
  12146.     DWORD *_pdwStubPhase);
  12147.  
  12148.  
  12149. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_NumberOfLines_Proxy( 
  12150.     IAMAnalogVideoDecoder * This,
  12151.     /* [out] */ long *plNumberOfLines);
  12152.  
  12153.  
  12154. void __RPC_STUB IAMAnalogVideoDecoder_get_NumberOfLines_Stub(
  12155.     IRpcStubBuffer *This,
  12156.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12157.     PRPC_MESSAGE _pRpcMessage,
  12158.     DWORD *_pdwStubPhase);
  12159.  
  12160.  
  12161. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_OutputEnable_Proxy( 
  12162.     IAMAnalogVideoDecoder * This,
  12163.     /* [in] */ long lOutputEnable);
  12164.  
  12165.  
  12166. void __RPC_STUB IAMAnalogVideoDecoder_put_OutputEnable_Stub(
  12167.     IRpcStubBuffer *This,
  12168.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12169.     PRPC_MESSAGE _pRpcMessage,
  12170.     DWORD *_pdwStubPhase);
  12171.  
  12172.  
  12173. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_OutputEnable_Proxy( 
  12174.     IAMAnalogVideoDecoder * This,
  12175.     /* [out] */ long *plOutputEnable);
  12176.  
  12177.  
  12178. void __RPC_STUB IAMAnalogVideoDecoder_get_OutputEnable_Stub(
  12179.     IRpcStubBuffer *This,
  12180.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12181.     PRPC_MESSAGE _pRpcMessage,
  12182.     DWORD *_pdwStubPhase);
  12183.  
  12184.  
  12185.  
  12186. #endif     /* __IAMAnalogVideoDecoder_INTERFACE_DEFINED__ */
  12187.  
  12188.  
  12189. /* interface __MIDL_itf_strmif_0170 */
  12190. /* [local] */ 
  12191.  
  12192. typedef 
  12193. enum tagVideoProcAmpProperty
  12194.     {    VideoProcAmp_Brightness    = 0,
  12195.     VideoProcAmp_Contrast    = VideoProcAmp_Brightness + 1,
  12196.     VideoProcAmp_Hue    = VideoProcAmp_Contrast + 1,
  12197.     VideoProcAmp_Saturation    = VideoProcAmp_Hue + 1,
  12198.     VideoProcAmp_Sharpness    = VideoProcAmp_Saturation + 1,
  12199.     VideoProcAmp_Gamma    = VideoProcAmp_Sharpness + 1,
  12200.     VideoProcAmp_ColorEnable    = VideoProcAmp_Gamma + 1,
  12201.     VideoProcAmp_WhiteBalance    = VideoProcAmp_ColorEnable + 1,
  12202.     VideoProcAmp_BacklightCompensation    = VideoProcAmp_WhiteBalance + 1,
  12203.     VideoProcAmp_Gain    = VideoProcAmp_BacklightCompensation + 1
  12204.     }     VideoProcAmpProperty;
  12205.  
  12206. typedef 
  12207. enum tagVideoProcAmpFlags
  12208.     {    VideoProcAmp_Flags_Auto    = 0x1,
  12209.     VideoProcAmp_Flags_Manual    = 0x2
  12210.     }     VideoProcAmpFlags;
  12211.  
  12212.  
  12213.  
  12214. extern RPC_IF_HANDLE __MIDL_itf_strmif_0170_v0_0_c_ifspec;
  12215. extern RPC_IF_HANDLE __MIDL_itf_strmif_0170_v0_0_s_ifspec;
  12216.  
  12217. #ifndef __IAMVideoProcAmp_INTERFACE_DEFINED__
  12218. #define __IAMVideoProcAmp_INTERFACE_DEFINED__
  12219.  
  12220. /* interface IAMVideoProcAmp */
  12221. /* [unique][uuid][object] */ 
  12222.  
  12223.  
  12224. EXTERN_C const IID IID_IAMVideoProcAmp;
  12225.  
  12226. #if defined(__cplusplus) && !defined(CINTERFACE)
  12227.     
  12228.     MIDL_INTERFACE("C6E13360-30AC-11d0-A18C-00A0C9118956")
  12229.     IAMVideoProcAmp : public IUnknown
  12230.     {
  12231.     public:
  12232.         virtual HRESULT STDMETHODCALLTYPE GetRange( 
  12233.             /* [in] */ long Property,
  12234.             /* [out] */ long *pMin,
  12235.             /* [out] */ long *pMax,
  12236.             /* [out] */ long *pSteppingDelta,
  12237.             /* [out] */ long *pDefault,
  12238.             /* [out] */ long *pCapsFlags) = 0;
  12239.         
  12240.         virtual HRESULT STDMETHODCALLTYPE Set( 
  12241.             /* [in] */ long Property,
  12242.             /* [in] */ long lValue,
  12243.             /* [in] */ long Flags) = 0;
  12244.         
  12245.         virtual HRESULT STDMETHODCALLTYPE Get( 
  12246.             /* [in] */ long Property,
  12247.             /* [out] */ long *lValue,
  12248.             /* [out] */ long *Flags) = 0;
  12249.         
  12250.     };
  12251.     
  12252. #else     /* C style interface */
  12253.  
  12254.     typedef struct IAMVideoProcAmpVtbl
  12255.     {
  12256.         BEGIN_INTERFACE
  12257.         
  12258.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  12259.             IAMVideoProcAmp * This,
  12260.             /* [in] */ REFIID riid,
  12261.             /* [iid_is][out] */ void **ppvObject);
  12262.         
  12263.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  12264.             IAMVideoProcAmp * This);
  12265.         
  12266.         ULONG ( STDMETHODCALLTYPE *Release )( 
  12267.             IAMVideoProcAmp * This);
  12268.         
  12269.         HRESULT ( STDMETHODCALLTYPE *GetRange )( 
  12270.             IAMVideoProcAmp * This,
  12271.             /* [in] */ long Property,
  12272.             /* [out] */ long *pMin,
  12273.             /* [out] */ long *pMax,
  12274.             /* [out] */ long *pSteppingDelta,
  12275.             /* [out] */ long *pDefault,
  12276.             /* [out] */ long *pCapsFlags);
  12277.         
  12278.         HRESULT ( STDMETHODCALLTYPE *Set )( 
  12279.             IAMVideoProcAmp * This,
  12280.             /* [in] */ long Property,
  12281.             /* [in] */ long lValue,
  12282.             /* [in] */ long Flags);
  12283.         
  12284.         HRESULT ( STDMETHODCALLTYPE *Get )( 
  12285.             IAMVideoProcAmp * This,
  12286.             /* [in] */ long Property,
  12287.             /* [out] */ long *lValue,
  12288.             /* [out] */ long *Flags);
  12289.         
  12290.         END_INTERFACE
  12291.     } IAMVideoProcAmpVtbl;
  12292.  
  12293.     interface IAMVideoProcAmp
  12294.     {
  12295.         CONST_VTBL struct IAMVideoProcAmpVtbl *lpVtbl;
  12296.     };
  12297.  
  12298.     
  12299.  
  12300. #ifdef COBJMACROS
  12301.  
  12302.  
  12303. #define IAMVideoProcAmp_QueryInterface(This,riid,ppvObject)    \
  12304.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12305.  
  12306. #define IAMVideoProcAmp_AddRef(This)    \
  12307.     (This)->lpVtbl -> AddRef(This)
  12308.  
  12309. #define IAMVideoProcAmp_Release(This)    \
  12310.     (This)->lpVtbl -> Release(This)
  12311.  
  12312.  
  12313. #define IAMVideoProcAmp_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)    \
  12314.     (This)->lpVtbl -> GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
  12315.  
  12316. #define IAMVideoProcAmp_Set(This,Property,lValue,Flags)    \
  12317.     (This)->lpVtbl -> Set(This,Property,lValue,Flags)
  12318.  
  12319. #define IAMVideoProcAmp_Get(This,Property,lValue,Flags)    \
  12320.     (This)->lpVtbl -> Get(This,Property,lValue,Flags)
  12321.  
  12322. #endif /* COBJMACROS */
  12323.  
  12324.  
  12325. #endif     /* C style interface */
  12326.  
  12327.  
  12328.  
  12329. HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_GetRange_Proxy( 
  12330.     IAMVideoProcAmp * This,
  12331.     /* [in] */ long Property,
  12332.     /* [out] */ long *pMin,
  12333.     /* [out] */ long *pMax,
  12334.     /* [out] */ long *pSteppingDelta,
  12335.     /* [out] */ long *pDefault,
  12336.     /* [out] */ long *pCapsFlags);
  12337.  
  12338.  
  12339. void __RPC_STUB IAMVideoProcAmp_GetRange_Stub(
  12340.     IRpcStubBuffer *This,
  12341.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12342.     PRPC_MESSAGE _pRpcMessage,
  12343.     DWORD *_pdwStubPhase);
  12344.  
  12345.  
  12346. HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Set_Proxy( 
  12347.     IAMVideoProcAmp * This,
  12348.     /* [in] */ long Property,
  12349.     /* [in] */ long lValue,
  12350.     /* [in] */ long Flags);
  12351.  
  12352.  
  12353. void __RPC_STUB IAMVideoProcAmp_Set_Stub(
  12354.     IRpcStubBuffer *This,
  12355.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12356.     PRPC_MESSAGE _pRpcMessage,
  12357.     DWORD *_pdwStubPhase);
  12358.  
  12359.  
  12360. HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Get_Proxy( 
  12361.     IAMVideoProcAmp * This,
  12362.     /* [in] */ long Property,
  12363.     /* [out] */ long *lValue,
  12364.     /* [out] */ long *Flags);
  12365.  
  12366.  
  12367. void __RPC_STUB IAMVideoProcAmp_Get_Stub(
  12368.     IRpcStubBuffer *This,
  12369.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12370.     PRPC_MESSAGE _pRpcMessage,
  12371.     DWORD *_pdwStubPhase);
  12372.  
  12373.  
  12374.  
  12375. #endif     /* __IAMVideoProcAmp_INTERFACE_DEFINED__ */
  12376.  
  12377.  
  12378. /* interface __MIDL_itf_strmif_0171 */
  12379. /* [local] */ 
  12380.  
  12381. typedef 
  12382. enum tagCameraControlProperty
  12383.     {    CameraControl_Pan    = 0,
  12384.     CameraControl_Tilt    = CameraControl_Pan + 1,
  12385.     CameraControl_Roll    = CameraControl_Tilt + 1,
  12386.     CameraControl_Zoom    = CameraControl_Roll + 1,
  12387.     CameraControl_Exposure    = CameraControl_Zoom + 1,
  12388.     CameraControl_Iris    = CameraControl_Exposure + 1,
  12389.     CameraControl_Focus    = CameraControl_Iris + 1
  12390.     }     CameraControlProperty;
  12391.  
  12392. typedef 
  12393. enum tagCameraControlFlags
  12394.     {    CameraControl_Flags_Auto    = 0x1,
  12395.     CameraControl_Flags_Manual    = 0x2
  12396.     }     CameraControlFlags;
  12397.  
  12398.  
  12399.  
  12400. extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_c_ifspec;
  12401. extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_s_ifspec;
  12402.  
  12403. #ifndef __IAMCameraControl_INTERFACE_DEFINED__
  12404. #define __IAMCameraControl_INTERFACE_DEFINED__
  12405.  
  12406. /* interface IAMCameraControl */
  12407. /* [unique][uuid][object] */ 
  12408.  
  12409.  
  12410. EXTERN_C const IID IID_IAMCameraControl;
  12411.  
  12412. #if defined(__cplusplus) && !defined(CINTERFACE)
  12413.     
  12414.     MIDL_INTERFACE("C6E13370-30AC-11d0-A18C-00A0C9118956")
  12415.     IAMCameraControl : public IUnknown
  12416.     {
  12417.     public:
  12418.         virtual HRESULT STDMETHODCALLTYPE GetRange( 
  12419.             /* [in] */ long Property,
  12420.             /* [out] */ long *pMin,
  12421.             /* [out] */ long *pMax,
  12422.             /* [out] */ long *pSteppingDelta,
  12423.             /* [out] */ long *pDefault,
  12424.             /* [out] */ long *pCapsFlags) = 0;
  12425.         
  12426.         virtual HRESULT STDMETHODCALLTYPE Set( 
  12427.             /* [in] */ long Property,
  12428.             /* [in] */ long lValue,
  12429.             /* [in] */ long Flags) = 0;
  12430.         
  12431.         virtual HRESULT STDMETHODCALLTYPE Get( 
  12432.             /* [in] */ long Property,
  12433.             /* [out] */ long *lValue,
  12434.             /* [out] */ long *Flags) = 0;
  12435.         
  12436.     };
  12437.     
  12438. #else     /* C style interface */
  12439.  
  12440.     typedef struct IAMCameraControlVtbl
  12441.     {
  12442.         BEGIN_INTERFACE
  12443.         
  12444.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  12445.             IAMCameraControl * This,
  12446.             /* [in] */ REFIID riid,
  12447.             /* [iid_is][out] */ void **ppvObject);
  12448.         
  12449.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  12450.             IAMCameraControl * This);
  12451.         
  12452.         ULONG ( STDMETHODCALLTYPE *Release )( 
  12453.             IAMCameraControl * This);
  12454.         
  12455.         HRESULT ( STDMETHODCALLTYPE *GetRange )( 
  12456.             IAMCameraControl * This,
  12457.             /* [in] */ long Property,
  12458.             /* [out] */ long *pMin,
  12459.             /* [out] */ long *pMax,
  12460.             /* [out] */ long *pSteppingDelta,
  12461.             /* [out] */ long *pDefault,
  12462.             /* [out] */ long *pCapsFlags);
  12463.         
  12464.         HRESULT ( STDMETHODCALLTYPE *Set )( 
  12465.             IAMCameraControl * This,
  12466.             /* [in] */ long Property,
  12467.             /* [in] */ long lValue,
  12468.             /* [in] */ long Flags);
  12469.         
  12470.         HRESULT ( STDMETHODCALLTYPE *Get )( 
  12471.             IAMCameraControl * This,
  12472.             /* [in] */ long Property,
  12473.             /* [out] */ long *lValue,
  12474.             /* [out] */ long *Flags);
  12475.         
  12476.         END_INTERFACE
  12477.     } IAMCameraControlVtbl;
  12478.  
  12479.     interface IAMCameraControl
  12480.     {
  12481.         CONST_VTBL struct IAMCameraControlVtbl *lpVtbl;
  12482.     };
  12483.  
  12484.     
  12485.  
  12486. #ifdef COBJMACROS
  12487.  
  12488.  
  12489. #define IAMCameraControl_QueryInterface(This,riid,ppvObject)    \
  12490.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12491.  
  12492. #define IAMCameraControl_AddRef(This)    \
  12493.     (This)->lpVtbl -> AddRef(This)
  12494.  
  12495. #define IAMCameraControl_Release(This)    \
  12496.     (This)->lpVtbl -> Release(This)
  12497.  
  12498.  
  12499. #define IAMCameraControl_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)    \
  12500.     (This)->lpVtbl -> GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
  12501.  
  12502. #define IAMCameraControl_Set(This,Property,lValue,Flags)    \
  12503.     (This)->lpVtbl -> Set(This,Property,lValue,Flags)
  12504.  
  12505. #define IAMCameraControl_Get(This,Property,lValue,Flags)    \
  12506.     (This)->lpVtbl -> Get(This,Property,lValue,Flags)
  12507.  
  12508. #endif /* COBJMACROS */
  12509.  
  12510.  
  12511. #endif     /* C style interface */
  12512.  
  12513.  
  12514.  
  12515. HRESULT STDMETHODCALLTYPE IAMCameraControl_GetRange_Proxy( 
  12516.     IAMCameraControl * This,
  12517.     /* [in] */ long Property,
  12518.     /* [out] */ long *pMin,
  12519.     /* [out] */ long *pMax,
  12520.     /* [out] */ long *pSteppingDelta,
  12521.     /* [out] */ long *pDefault,
  12522.     /* [out] */ long *pCapsFlags);
  12523.  
  12524.  
  12525. void __RPC_STUB IAMCameraControl_GetRange_Stub(
  12526.     IRpcStubBuffer *This,
  12527.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12528.     PRPC_MESSAGE _pRpcMessage,
  12529.     DWORD *_pdwStubPhase);
  12530.  
  12531.  
  12532. HRESULT STDMETHODCALLTYPE IAMCameraControl_Set_Proxy( 
  12533.     IAMCameraControl * This,
  12534.     /* [in] */ long Property,
  12535.     /* [in] */ long lValue,
  12536.     /* [in] */ long Flags);
  12537.  
  12538.  
  12539. void __RPC_STUB IAMCameraControl_Set_Stub(
  12540.     IRpcStubBuffer *This,
  12541.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12542.     PRPC_MESSAGE _pRpcMessage,
  12543.     DWORD *_pdwStubPhase);
  12544.  
  12545.  
  12546. HRESULT STDMETHODCALLTYPE IAMCameraControl_Get_Proxy( 
  12547.     IAMCameraControl * This,
  12548.     /* [in] */ long Property,
  12549.     /* [out] */ long *lValue,
  12550.     /* [out] */ long *Flags);
  12551.  
  12552.  
  12553. void __RPC_STUB IAMCameraControl_Get_Stub(
  12554.     IRpcStubBuffer *This,
  12555.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12556.     PRPC_MESSAGE _pRpcMessage,
  12557.     DWORD *_pdwStubPhase);
  12558.  
  12559.  
  12560.  
  12561. #endif     /* __IAMCameraControl_INTERFACE_DEFINED__ */
  12562.  
  12563.  
  12564. /* interface __MIDL_itf_strmif_0172 */
  12565. /* [local] */ 
  12566.  
  12567. typedef 
  12568. enum tagVideoControlFlags
  12569.     {    VideoControlFlag_FlipHorizontal    = 0x1,
  12570.     VideoControlFlag_FlipVertical    = 0x2,
  12571.     VideoControlFlag_ExternalTriggerEnable    = 0x4,
  12572.     VideoControlFlag_Trigger    = 0x8
  12573.     }     VideoControlFlags;
  12574.  
  12575.  
  12576.  
  12577. extern RPC_IF_HANDLE __MIDL_itf_strmif_0172_v0_0_c_ifspec;
  12578. extern RPC_IF_HANDLE __MIDL_itf_strmif_0172_v0_0_s_ifspec;
  12579.  
  12580. #ifndef __IAMVideoControl_INTERFACE_DEFINED__
  12581. #define __IAMVideoControl_INTERFACE_DEFINED__
  12582.  
  12583. /* interface IAMVideoControl */
  12584. /* [unique][uuid][object] */ 
  12585.  
  12586.  
  12587. EXTERN_C const IID IID_IAMVideoControl;
  12588.  
  12589. #if defined(__cplusplus) && !defined(CINTERFACE)
  12590.     
  12591.     MIDL_INTERFACE("6a2e0670-28e4-11d0-a18c-00a0c9118956")
  12592.     IAMVideoControl : public IUnknown
  12593.     {
  12594.     public:
  12595.         virtual HRESULT STDMETHODCALLTYPE GetCaps( 
  12596.             /* [in] */ IPin *pPin,
  12597.             /* [out] */ long *pCapsFlags) = 0;
  12598.         
  12599.         virtual HRESULT STDMETHODCALLTYPE SetMode( 
  12600.             /* [in] */ IPin *pPin,
  12601.             /* [in] */ long Mode) = 0;
  12602.         
  12603.         virtual HRESULT STDMETHODCALLTYPE GetMode( 
  12604.             /* [in] */ IPin *pPin,
  12605.             /* [out] */ long *Mode) = 0;
  12606.         
  12607.         virtual HRESULT STDMETHODCALLTYPE GetCurrentActualFrameRate( 
  12608.             /* [in] */ IPin *pPin,
  12609.             /* [out] */ LONGLONG *ActualFrameRate) = 0;
  12610.         
  12611.         virtual HRESULT STDMETHODCALLTYPE GetMaxAvailableFrameRate( 
  12612.             /* [in] */ IPin *pPin,
  12613.             /* [in] */ long iIndex,
  12614.             /* [in] */ SIZE Dimensions,
  12615.             /* [out] */ LONGLONG *MaxAvailableFrameRate) = 0;
  12616.         
  12617.         virtual HRESULT STDMETHODCALLTYPE GetFrameRateList( 
  12618.             /* [in] */ IPin *pPin,
  12619.             /* [in] */ long iIndex,
  12620.             /* [in] */ SIZE Dimensions,
  12621.             /* [out] */ long *ListSize,
  12622.             /* [out] */ LONGLONG **FrameRates) = 0;
  12623.         
  12624.     };
  12625.     
  12626. #else     /* C style interface */
  12627.  
  12628.     typedef struct IAMVideoControlVtbl
  12629.     {
  12630.         BEGIN_INTERFACE
  12631.         
  12632.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  12633.             IAMVideoControl * This,
  12634.             /* [in] */ REFIID riid,
  12635.             /* [iid_is][out] */ void **ppvObject);
  12636.         
  12637.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  12638.             IAMVideoControl * This);
  12639.         
  12640.         ULONG ( STDMETHODCALLTYPE *Release )( 
  12641.             IAMVideoControl * This);
  12642.         
  12643.         HRESULT ( STDMETHODCALLTYPE *GetCaps )( 
  12644.             IAMVideoControl * This,
  12645.             /* [in] */ IPin *pPin,
  12646.             /* [out] */ long *pCapsFlags);
  12647.         
  12648.         HRESULT ( STDMETHODCALLTYPE *SetMode )( 
  12649.             IAMVideoControl * This,
  12650.             /* [in] */ IPin *pPin,
  12651.             /* [in] */ long Mode);
  12652.         
  12653.         HRESULT ( STDMETHODCALLTYPE *GetMode )( 
  12654.             IAMVideoControl * This,
  12655.             /* [in] */ IPin *pPin,
  12656.             /* [out] */ long *Mode);
  12657.         
  12658.         HRESULT ( STDMETHODCALLTYPE *GetCurrentActualFrameRate )( 
  12659.             IAMVideoControl * This,
  12660.             /* [in] */ IPin *pPin,
  12661.             /* [out] */ LONGLONG *ActualFrameRate);
  12662.         
  12663.         HRESULT ( STDMETHODCALLTYPE *GetMaxAvailableFrameRate )( 
  12664.             IAMVideoControl * This,
  12665.             /* [in] */ IPin *pPin,
  12666.             /* [in] */ long iIndex,
  12667.             /* [in] */ SIZE Dimensions,
  12668.             /* [out] */ LONGLONG *MaxAvailableFrameRate);
  12669.         
  12670.         HRESULT ( STDMETHODCALLTYPE *GetFrameRateList )( 
  12671.             IAMVideoControl * This,
  12672.             /* [in] */ IPin *pPin,
  12673.             /* [in] */ long iIndex,
  12674.             /* [in] */ SIZE Dimensions,
  12675.             /* [out] */ long *ListSize,
  12676.             /* [out] */ LONGLONG **FrameRates);
  12677.         
  12678.         END_INTERFACE
  12679.     } IAMVideoControlVtbl;
  12680.  
  12681.     interface IAMVideoControl
  12682.     {
  12683.         CONST_VTBL struct IAMVideoControlVtbl *lpVtbl;
  12684.     };
  12685.  
  12686.     
  12687.  
  12688. #ifdef COBJMACROS
  12689.  
  12690.  
  12691. #define IAMVideoControl_QueryInterface(This,riid,ppvObject)    \
  12692.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12693.  
  12694. #define IAMVideoControl_AddRef(This)    \
  12695.     (This)->lpVtbl -> AddRef(This)
  12696.  
  12697. #define IAMVideoControl_Release(This)    \
  12698.     (This)->lpVtbl -> Release(This)
  12699.  
  12700.  
  12701. #define IAMVideoControl_GetCaps(This,pPin,pCapsFlags)    \
  12702.     (This)->lpVtbl -> GetCaps(This,pPin,pCapsFlags)
  12703.  
  12704. #define IAMVideoControl_SetMode(This,pPin,Mode)    \
  12705.     (This)->lpVtbl -> SetMode(This,pPin,Mode)
  12706.  
  12707. #define IAMVideoControl_GetMode(This,pPin,Mode)    \
  12708.     (This)->lpVtbl -> GetMode(This,pPin,Mode)
  12709.  
  12710. #define IAMVideoControl_GetCurrentActualFrameRate(This,pPin,ActualFrameRate)    \
  12711.     (This)->lpVtbl -> GetCurrentActualFrameRate(This,pPin,ActualFrameRate)
  12712.  
  12713. #define IAMVideoControl_GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate)    \
  12714.     (This)->lpVtbl -> GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate)
  12715.  
  12716. #define IAMVideoControl_GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates)    \
  12717.     (This)->lpVtbl -> GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates)
  12718.  
  12719. #endif /* COBJMACROS */
  12720.  
  12721.  
  12722. #endif     /* C style interface */
  12723.  
  12724.  
  12725.  
  12726. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetCaps_Proxy( 
  12727.     IAMVideoControl * This,
  12728.     /* [in] */ IPin *pPin,
  12729.     /* [out] */ long *pCapsFlags);
  12730.  
  12731.  
  12732. void __RPC_STUB IAMVideoControl_GetCaps_Stub(
  12733.     IRpcStubBuffer *This,
  12734.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12735.     PRPC_MESSAGE _pRpcMessage,
  12736.     DWORD *_pdwStubPhase);
  12737.  
  12738.  
  12739. HRESULT STDMETHODCALLTYPE IAMVideoControl_SetMode_Proxy( 
  12740.     IAMVideoControl * This,
  12741.     /* [in] */ IPin *pPin,
  12742.     /* [in] */ long Mode);
  12743.  
  12744.  
  12745. void __RPC_STUB IAMVideoControl_SetMode_Stub(
  12746.     IRpcStubBuffer *This,
  12747.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12748.     PRPC_MESSAGE _pRpcMessage,
  12749.     DWORD *_pdwStubPhase);
  12750.  
  12751.  
  12752. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetMode_Proxy( 
  12753.     IAMVideoControl * This,
  12754.     /* [in] */ IPin *pPin,
  12755.     /* [out] */ long *Mode);
  12756.  
  12757.  
  12758. void __RPC_STUB IAMVideoControl_GetMode_Stub(
  12759.     IRpcStubBuffer *This,
  12760.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12761.     PRPC_MESSAGE _pRpcMessage,
  12762.     DWORD *_pdwStubPhase);
  12763.  
  12764.  
  12765. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetCurrentActualFrameRate_Proxy( 
  12766.     IAMVideoControl * This,
  12767.     /* [in] */ IPin *pPin,
  12768.     /* [out] */ LONGLONG *ActualFrameRate);
  12769.  
  12770.  
  12771. void __RPC_STUB IAMVideoControl_GetCurrentActualFrameRate_Stub(
  12772.     IRpcStubBuffer *This,
  12773.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12774.     PRPC_MESSAGE _pRpcMessage,
  12775.     DWORD *_pdwStubPhase);
  12776.  
  12777.  
  12778. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetMaxAvailableFrameRate_Proxy( 
  12779.     IAMVideoControl * This,
  12780.     /* [in] */ IPin *pPin,
  12781.     /* [in] */ long iIndex,
  12782.     /* [in] */ SIZE Dimensions,
  12783.     /* [out] */ LONGLONG *MaxAvailableFrameRate);
  12784.  
  12785.  
  12786. void __RPC_STUB IAMVideoControl_GetMaxAvailableFrameRate_Stub(
  12787.     IRpcStubBuffer *This,
  12788.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12789.     PRPC_MESSAGE _pRpcMessage,
  12790.     DWORD *_pdwStubPhase);
  12791.  
  12792.  
  12793. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetFrameRateList_Proxy( 
  12794.     IAMVideoControl * This,
  12795.     /* [in] */ IPin *pPin,
  12796.     /* [in] */ long iIndex,
  12797.     /* [in] */ SIZE Dimensions,
  12798.     /* [out] */ long *ListSize,
  12799.     /* [out] */ LONGLONG **FrameRates);
  12800.  
  12801.  
  12802. void __RPC_STUB IAMVideoControl_GetFrameRateList_Stub(
  12803.     IRpcStubBuffer *This,
  12804.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12805.     PRPC_MESSAGE _pRpcMessage,
  12806.     DWORD *_pdwStubPhase);
  12807.  
  12808.  
  12809.  
  12810. #endif     /* __IAMVideoControl_INTERFACE_DEFINED__ */
  12811.  
  12812.  
  12813. #ifndef __IAMCrossbar_INTERFACE_DEFINED__
  12814. #define __IAMCrossbar_INTERFACE_DEFINED__
  12815.  
  12816. /* interface IAMCrossbar */
  12817. /* [unique][uuid][object] */ 
  12818.  
  12819.  
  12820. EXTERN_C const IID IID_IAMCrossbar;
  12821.  
  12822. #if defined(__cplusplus) && !defined(CINTERFACE)
  12823.     
  12824.     MIDL_INTERFACE("C6E13380-30AC-11d0-A18C-00A0C9118956")
  12825.     IAMCrossbar : public IUnknown
  12826.     {
  12827.     public:
  12828.         virtual HRESULT STDMETHODCALLTYPE get_PinCounts( 
  12829.             /* [out] */ long *OutputPinCount,
  12830.             /* [out] */ long *InputPinCount) = 0;
  12831.         
  12832.         virtual HRESULT STDMETHODCALLTYPE CanRoute( 
  12833.             /* [in] */ long OutputPinIndex,
  12834.             /* [in] */ long InputPinIndex) = 0;
  12835.         
  12836.         virtual HRESULT STDMETHODCALLTYPE Route( 
  12837.             /* [in] */ long OutputPinIndex,
  12838.             /* [in] */ long InputPinIndex) = 0;
  12839.         
  12840.         virtual HRESULT STDMETHODCALLTYPE get_IsRoutedTo( 
  12841.             /* [in] */ long OutputPinIndex,
  12842.             /* [out] */ long *InputPinIndex) = 0;
  12843.         
  12844.         virtual HRESULT STDMETHODCALLTYPE get_CrossbarPinInfo( 
  12845.             /* [in] */ BOOL IsInputPin,
  12846.             /* [in] */ long PinIndex,
  12847.             /* [out] */ long *PinIndexRelated,
  12848.             /* [out] */ long *PhysicalType) = 0;
  12849.         
  12850.     };
  12851.     
  12852. #else     /* C style interface */
  12853.  
  12854.     typedef struct IAMCrossbarVtbl
  12855.     {
  12856.         BEGIN_INTERFACE
  12857.         
  12858.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  12859.             IAMCrossbar * This,
  12860.             /* [in] */ REFIID riid,
  12861.             /* [iid_is][out] */ void **ppvObject);
  12862.         
  12863.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  12864.             IAMCrossbar * This);
  12865.         
  12866.         ULONG ( STDMETHODCALLTYPE *Release )( 
  12867.             IAMCrossbar * This);
  12868.         
  12869.         HRESULT ( STDMETHODCALLTYPE *get_PinCounts )( 
  12870.             IAMCrossbar * This,
  12871.             /* [out] */ long *OutputPinCount,
  12872.             /* [out] */ long *InputPinCount);
  12873.         
  12874.         HRESULT ( STDMETHODCALLTYPE *CanRoute )( 
  12875.             IAMCrossbar * This,
  12876.             /* [in] */ long OutputPinIndex,
  12877.             /* [in] */ long InputPinIndex);
  12878.         
  12879.         HRESULT ( STDMETHODCALLTYPE *Route )( 
  12880.             IAMCrossbar * This,
  12881.             /* [in] */ long OutputPinIndex,
  12882.             /* [in] */ long InputPinIndex);
  12883.         
  12884.         HRESULT ( STDMETHODCALLTYPE *get_IsRoutedTo )( 
  12885.             IAMCrossbar * This,
  12886.             /* [in] */ long OutputPinIndex,
  12887.             /* [out] */ long *InputPinIndex);
  12888.         
  12889.         HRESULT ( STDMETHODCALLTYPE *get_CrossbarPinInfo )( 
  12890.             IAMCrossbar * This,
  12891.             /* [in] */ BOOL IsInputPin,
  12892.             /* [in] */ long PinIndex,
  12893.             /* [out] */ long *PinIndexRelated,
  12894.             /* [out] */ long *PhysicalType);
  12895.         
  12896.         END_INTERFACE
  12897.     } IAMCrossbarVtbl;
  12898.  
  12899.     interface IAMCrossbar
  12900.     {
  12901.         CONST_VTBL struct IAMCrossbarVtbl *lpVtbl;
  12902.     };
  12903.  
  12904.     
  12905.  
  12906. #ifdef COBJMACROS
  12907.  
  12908.  
  12909. #define IAMCrossbar_QueryInterface(This,riid,ppvObject)    \
  12910.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12911.  
  12912. #define IAMCrossbar_AddRef(This)    \
  12913.     (This)->lpVtbl -> AddRef(This)
  12914.  
  12915. #define IAMCrossbar_Release(This)    \
  12916.     (This)->lpVtbl -> Release(This)
  12917.  
  12918.  
  12919. #define IAMCrossbar_get_PinCounts(This,OutputPinCount,InputPinCount)    \
  12920.     (This)->lpVtbl -> get_PinCounts(This,OutputPinCount,InputPinCount)
  12921.  
  12922. #define IAMCrossbar_CanRoute(This,OutputPinIndex,InputPinIndex)    \
  12923.     (This)->lpVtbl -> CanRoute(This,OutputPinIndex,InputPinIndex)
  12924.  
  12925. #define IAMCrossbar_Route(This,OutputPinIndex,InputPinIndex)    \
  12926.     (This)->lpVtbl -> Route(This,OutputPinIndex,InputPinIndex)
  12927.  
  12928. #define IAMCrossbar_get_IsRoutedTo(This,OutputPinIndex,InputPinIndex)    \
  12929.     (This)->lpVtbl -> get_IsRoutedTo(This,OutputPinIndex,InputPinIndex)
  12930.  
  12931. #define IAMCrossbar_get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType)    \
  12932.     (This)->lpVtbl -> get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType)
  12933.  
  12934. #endif /* COBJMACROS */
  12935.  
  12936.  
  12937. #endif     /* C style interface */
  12938.  
  12939.  
  12940.  
  12941. HRESULT STDMETHODCALLTYPE IAMCrossbar_get_PinCounts_Proxy( 
  12942.     IAMCrossbar * This,
  12943.     /* [out] */ long *OutputPinCount,
  12944.     /* [out] */ long *InputPinCount);
  12945.  
  12946.  
  12947. void __RPC_STUB IAMCrossbar_get_PinCounts_Stub(
  12948.     IRpcStubBuffer *This,
  12949.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12950.     PRPC_MESSAGE _pRpcMessage,
  12951.     DWORD *_pdwStubPhase);
  12952.  
  12953.  
  12954. HRESULT STDMETHODCALLTYPE IAMCrossbar_CanRoute_Proxy( 
  12955.     IAMCrossbar * This,
  12956.     /* [in] */ long OutputPinIndex,
  12957.     /* [in] */ long InputPinIndex);
  12958.  
  12959.  
  12960. void __RPC_STUB IAMCrossbar_CanRoute_Stub(
  12961.     IRpcStubBuffer *This,
  12962.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12963.     PRPC_MESSAGE _pRpcMessage,
  12964.     DWORD *_pdwStubPhase);
  12965.  
  12966.  
  12967. HRESULT STDMETHODCALLTYPE IAMCrossbar_Route_Proxy( 
  12968.     IAMCrossbar * This,
  12969.     /* [in] */ long OutputPinIndex,
  12970.     /* [in] */ long InputPinIndex);
  12971.  
  12972.  
  12973. void __RPC_STUB IAMCrossbar_Route_Stub(
  12974.     IRpcStubBuffer *This,
  12975.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12976.     PRPC_MESSAGE _pRpcMessage,
  12977.     DWORD *_pdwStubPhase);
  12978.  
  12979.  
  12980. HRESULT STDMETHODCALLTYPE IAMCrossbar_get_IsRoutedTo_Proxy( 
  12981.     IAMCrossbar * This,
  12982.     /* [in] */ long OutputPinIndex,
  12983.     /* [out] */ long *InputPinIndex);
  12984.  
  12985.  
  12986. void __RPC_STUB IAMCrossbar_get_IsRoutedTo_Stub(
  12987.     IRpcStubBuffer *This,
  12988.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12989.     PRPC_MESSAGE _pRpcMessage,
  12990.     DWORD *_pdwStubPhase);
  12991.  
  12992.  
  12993. HRESULT STDMETHODCALLTYPE IAMCrossbar_get_CrossbarPinInfo_Proxy( 
  12994.     IAMCrossbar * This,
  12995.     /* [in] */ BOOL IsInputPin,
  12996.     /* [in] */ long PinIndex,
  12997.     /* [out] */ long *PinIndexRelated,
  12998.     /* [out] */ long *PhysicalType);
  12999.  
  13000.  
  13001. void __RPC_STUB IAMCrossbar_get_CrossbarPinInfo_Stub(
  13002.     IRpcStubBuffer *This,
  13003.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13004.     PRPC_MESSAGE _pRpcMessage,
  13005.     DWORD *_pdwStubPhase);
  13006.  
  13007.  
  13008.  
  13009. #endif     /* __IAMCrossbar_INTERFACE_DEFINED__ */
  13010.  
  13011.  
  13012. /* interface __MIDL_itf_strmif_0174 */
  13013. /* [local] */ 
  13014.  
  13015. typedef 
  13016. enum tagAMTunerSubChannel
  13017.     {    AMTUNER_SUBCHAN_NO_TUNE    = -2,
  13018.     AMTUNER_SUBCHAN_DEFAULT    = -1
  13019.     }     AMTunerSubChannel;
  13020.  
  13021. typedef 
  13022. enum tagAMTunerSignalStrength
  13023.     {    AMTUNER_HASNOSIGNALSTRENGTH    = -1,
  13024.     AMTUNER_NOSIGNAL    = 0,
  13025.     AMTUNER_SIGNALPRESENT    = 1
  13026.     }     AMTunerSignalStrength;
  13027.  
  13028. typedef 
  13029. enum tagAMTunerModeType
  13030.     {    AMTUNER_MODE_DEFAULT    = 0,
  13031.     AMTUNER_MODE_TV    = 0x1,
  13032.     AMTUNER_MODE_FM_RADIO    = 0x2,
  13033.     AMTUNER_MODE_AM_RADIO    = 0x4,
  13034.     AMTUNER_MODE_DSS    = 0x8
  13035.     }     AMTunerModeType;
  13036.  
  13037. typedef 
  13038. enum tagAMTunerEventType
  13039.     {    AMTUNER_EVENT_CHANGED    = 0x1
  13040.     }     AMTunerEventType;
  13041.  
  13042.  
  13043.  
  13044.  
  13045. extern RPC_IF_HANDLE __MIDL_itf_strmif_0174_v0_0_c_ifspec;
  13046. extern RPC_IF_HANDLE __MIDL_itf_strmif_0174_v0_0_s_ifspec;
  13047.  
  13048. #ifndef __IAMTuner_INTERFACE_DEFINED__
  13049. #define __IAMTuner_INTERFACE_DEFINED__
  13050.  
  13051. /* interface IAMTuner */
  13052. /* [unique][uuid][object] */ 
  13053.  
  13054.  
  13055. EXTERN_C const IID IID_IAMTuner;
  13056.  
  13057. #if defined(__cplusplus) && !defined(CINTERFACE)
  13058.     
  13059.     MIDL_INTERFACE("211A8761-03AC-11d1-8D13-00AA00BD8339")
  13060.     IAMTuner : public IUnknown
  13061.     {
  13062.     public:
  13063.         virtual HRESULT STDMETHODCALLTYPE put_Channel( 
  13064.             /* [in] */ long lChannel,
  13065.             /* [in] */ long lVideoSubChannel,
  13066.             /* [in] */ long lAudioSubChannel) = 0;
  13067.         
  13068.         virtual HRESULT STDMETHODCALLTYPE get_Channel( 
  13069.             /* [out] */ long *plChannel,
  13070.             /* [out] */ long *plVideoSubChannel,
  13071.             /* [out] */ long *plAudioSubChannel) = 0;
  13072.         
  13073.         virtual HRESULT STDMETHODCALLTYPE ChannelMinMax( 
  13074.             /* [out] */ long *lChannelMin,
  13075.             /* [out] */ long *lChannelMax) = 0;
  13076.         
  13077.         virtual HRESULT STDMETHODCALLTYPE put_CountryCode( 
  13078.             /* [in] */ long lCountryCode) = 0;
  13079.         
  13080.         virtual HRESULT STDMETHODCALLTYPE get_CountryCode( 
  13081.             /* [out] */ long *plCountryCode) = 0;
  13082.         
  13083.         virtual HRESULT STDMETHODCALLTYPE put_TuningSpace( 
  13084.             /* [in] */ long lTuningSpace) = 0;
  13085.         
  13086.         virtual HRESULT STDMETHODCALLTYPE get_TuningSpace( 
  13087.             /* [out] */ long *plTuningSpace) = 0;
  13088.         
  13089.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Logon( 
  13090.             /* [in] */ HANDLE hCurrentUser) = 0;
  13091.         
  13092.         virtual HRESULT STDMETHODCALLTYPE Logout( void) = 0;
  13093.         
  13094.         virtual HRESULT STDMETHODCALLTYPE SignalPresent( 
  13095.             /* [out] */ long *plSignalStrength) = 0;
  13096.         
  13097.         virtual HRESULT STDMETHODCALLTYPE put_Mode( 
  13098.             /* [in] */ AMTunerModeType lMode) = 0;
  13099.         
  13100.         virtual HRESULT STDMETHODCALLTYPE get_Mode( 
  13101.             /* [out] */ AMTunerModeType *plMode) = 0;
  13102.         
  13103.         virtual HRESULT STDMETHODCALLTYPE GetAvailableModes( 
  13104.             /* [out] */ long *plModes) = 0;
  13105.         
  13106.         virtual HRESULT STDMETHODCALLTYPE RegisterNotificationCallBack( 
  13107.             /* [in] */ IAMTunerNotification *pNotify,
  13108.             /* [in] */ long lEvents) = 0;
  13109.         
  13110.         virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationCallBack( 
  13111.             /* [in] */ IAMTunerNotification *pNotify) = 0;
  13112.         
  13113.     };
  13114.     
  13115. #else     /* C style interface */
  13116.  
  13117.     typedef struct IAMTunerVtbl
  13118.     {
  13119.         BEGIN_INTERFACE
  13120.         
  13121.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  13122.             IAMTuner * This,
  13123.             /* [in] */ REFIID riid,
  13124.             /* [iid_is][out] */ void **ppvObject);
  13125.         
  13126.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  13127.             IAMTuner * This);
  13128.         
  13129.         ULONG ( STDMETHODCALLTYPE *Release )( 
  13130.             IAMTuner * This);
  13131.         
  13132.         HRESULT ( STDMETHODCALLTYPE *put_Channel )( 
  13133.             IAMTuner * This,
  13134.             /* [in] */ long lChannel,
  13135.             /* [in] */ long lVideoSubChannel,
  13136.             /* [in] */ long lAudioSubChannel);
  13137.         
  13138.         HRESULT ( STDMETHODCALLTYPE *get_Channel )( 
  13139.             IAMTuner * This,
  13140.             /* [out] */ long *plChannel,
  13141.             /* [out] */ long *plVideoSubChannel,
  13142.             /* [out] */ long *plAudioSubChannel);
  13143.         
  13144.         HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )( 
  13145.             IAMTuner * This,
  13146.             /* [out] */ long *lChannelMin,
  13147.             /* [out] */ long *lChannelMax);
  13148.         
  13149.         HRESULT ( STDMETHODCALLTYPE *put_CountryCode )( 
  13150.             IAMTuner * This,
  13151.             /* [in] */ long lCountryCode);
  13152.         
  13153.         HRESULT ( STDMETHODCALLTYPE *get_CountryCode )( 
  13154.             IAMTuner * This,
  13155.             /* [out] */ long *plCountryCode);
  13156.         
  13157.         HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )( 
  13158.             IAMTuner * This,
  13159.             /* [in] */ long lTuningSpace);
  13160.         
  13161.         HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )( 
  13162.             IAMTuner * This,
  13163.             /* [out] */ long *plTuningSpace);
  13164.         
  13165.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )( 
  13166.             IAMTuner * This,
  13167.             /* [in] */ HANDLE hCurrentUser);
  13168.         
  13169.         HRESULT ( STDMETHODCALLTYPE *Logout )( 
  13170.             IAMTuner * This);
  13171.         
  13172.         HRESULT ( STDMETHODCALLTYPE *SignalPresent )( 
  13173.             IAMTuner * This,
  13174.             /* [out] */ long *plSignalStrength);
  13175.         
  13176.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  13177.             IAMTuner * This,
  13178.             /* [in] */ AMTunerModeType lMode);
  13179.         
  13180.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  13181.             IAMTuner * This,
  13182.             /* [out] */ AMTunerModeType *plMode);
  13183.         
  13184.         HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )( 
  13185.             IAMTuner * This,
  13186.             /* [out] */ long *plModes);
  13187.         
  13188.         HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )( 
  13189.             IAMTuner * This,
  13190.             /* [in] */ IAMTunerNotification *pNotify,
  13191.             /* [in] */ long lEvents);
  13192.         
  13193.         HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )( 
  13194.             IAMTuner * This,
  13195.             /* [in] */ IAMTunerNotification *pNotify);
  13196.         
  13197.         END_INTERFACE
  13198.     } IAMTunerVtbl;
  13199.  
  13200.     interface IAMTuner
  13201.     {
  13202.         CONST_VTBL struct IAMTunerVtbl *lpVtbl;
  13203.     };
  13204.  
  13205.     
  13206.  
  13207. #ifdef COBJMACROS
  13208.  
  13209.  
  13210. #define IAMTuner_QueryInterface(This,riid,ppvObject)    \
  13211.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13212.  
  13213. #define IAMTuner_AddRef(This)    \
  13214.     (This)->lpVtbl -> AddRef(This)
  13215.  
  13216. #define IAMTuner_Release(This)    \
  13217.     (This)->lpVtbl -> Release(This)
  13218.  
  13219.  
  13220. #define IAMTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)    \
  13221.     (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  13222.  
  13223. #define IAMTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)    \
  13224.     (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  13225.  
  13226. #define IAMTuner_ChannelMinMax(This,lChannelMin,lChannelMax)    \
  13227.     (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
  13228.  
  13229. #define IAMTuner_put_CountryCode(This,lCountryCode)    \
  13230.     (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
  13231.  
  13232. #define IAMTuner_get_CountryCode(This,plCountryCode)    \
  13233.     (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
  13234.  
  13235. #define IAMTuner_put_TuningSpace(This,lTuningSpace)    \
  13236.     (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
  13237.  
  13238. #define IAMTuner_get_TuningSpace(This,plTuningSpace)    \
  13239.     (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
  13240.  
  13241. #define IAMTuner_Logon(This,hCurrentUser)    \
  13242.     (This)->lpVtbl -> Logon(This,hCurrentUser)
  13243.  
  13244. #define IAMTuner_Logout(This)    \
  13245.     (This)->lpVtbl -> Logout(This)
  13246.  
  13247. #define IAMTuner_SignalPresent(This,plSignalStrength)    \
  13248.     (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
  13249.  
  13250. #define IAMTuner_put_Mode(This,lMode)    \
  13251.     (This)->lpVtbl -> put_Mode(This,lMode)
  13252.  
  13253. #define IAMTuner_get_Mode(This,plMode)    \
  13254.     (This)->lpVtbl -> get_Mode(This,plMode)
  13255.  
  13256. #define IAMTuner_GetAvailableModes(This,plModes)    \
  13257.     (This)->lpVtbl -> GetAvailableModes(This,plModes)
  13258.  
  13259. #define IAMTuner_RegisterNotificationCallBack(This,pNotify,lEvents)    \
  13260.     (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  13261.  
  13262. #define IAMTuner_UnRegisterNotificationCallBack(This,pNotify)    \
  13263.     (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  13264.  
  13265. #endif /* COBJMACROS */
  13266.  
  13267.  
  13268. #endif     /* C style interface */
  13269.  
  13270.  
  13271.  
  13272. HRESULT STDMETHODCALLTYPE IAMTuner_put_Channel_Proxy( 
  13273.     IAMTuner * This,
  13274.     /* [in] */ long lChannel,
  13275.     /* [in] */ long lVideoSubChannel,
  13276.     /* [in] */ long lAudioSubChannel);
  13277.  
  13278.  
  13279. void __RPC_STUB IAMTuner_put_Channel_Stub(
  13280.     IRpcStubBuffer *This,
  13281.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13282.     PRPC_MESSAGE _pRpcMessage,
  13283.     DWORD *_pdwStubPhase);
  13284.  
  13285.  
  13286. HRESULT STDMETHODCALLTYPE IAMTuner_get_Channel_Proxy( 
  13287.     IAMTuner * This,
  13288.     /* [out] */ long *plChannel,
  13289.     /* [out] */ long *plVideoSubChannel,
  13290.     /* [out] */ long *plAudioSubChannel);
  13291.  
  13292.  
  13293. void __RPC_STUB IAMTuner_get_Channel_Stub(
  13294.     IRpcStubBuffer *This,
  13295.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13296.     PRPC_MESSAGE _pRpcMessage,
  13297.     DWORD *_pdwStubPhase);
  13298.  
  13299.  
  13300. HRESULT STDMETHODCALLTYPE IAMTuner_ChannelMinMax_Proxy( 
  13301.     IAMTuner * This,
  13302.     /* [out] */ long *lChannelMin,
  13303.     /* [out] */ long *lChannelMax);
  13304.  
  13305.  
  13306. void __RPC_STUB IAMTuner_ChannelMinMax_Stub(
  13307.     IRpcStubBuffer *This,
  13308.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13309.     PRPC_MESSAGE _pRpcMessage,
  13310.     DWORD *_pdwStubPhase);
  13311.  
  13312.  
  13313. HRESULT STDMETHODCALLTYPE IAMTuner_put_CountryCode_Proxy( 
  13314.     IAMTuner * This,
  13315.     /* [in] */ long lCountryCode);
  13316.  
  13317.  
  13318. void __RPC_STUB IAMTuner_put_CountryCode_Stub(
  13319.     IRpcStubBuffer *This,
  13320.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13321.     PRPC_MESSAGE _pRpcMessage,
  13322.     DWORD *_pdwStubPhase);
  13323.  
  13324.  
  13325. HRESULT STDMETHODCALLTYPE IAMTuner_get_CountryCode_Proxy( 
  13326.     IAMTuner * This,
  13327.     /* [out] */ long *plCountryCode);
  13328.  
  13329.  
  13330. void __RPC_STUB IAMTuner_get_CountryCode_Stub(
  13331.     IRpcStubBuffer *This,
  13332.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13333.     PRPC_MESSAGE _pRpcMessage,
  13334.     DWORD *_pdwStubPhase);
  13335.  
  13336.  
  13337. HRESULT STDMETHODCALLTYPE IAMTuner_put_TuningSpace_Proxy( 
  13338.     IAMTuner * This,
  13339.     /* [in] */ long lTuningSpace);
  13340.  
  13341.  
  13342. void __RPC_STUB IAMTuner_put_TuningSpace_Stub(
  13343.     IRpcStubBuffer *This,
  13344.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13345.     PRPC_MESSAGE _pRpcMessage,
  13346.     DWORD *_pdwStubPhase);
  13347.  
  13348.  
  13349. HRESULT STDMETHODCALLTYPE IAMTuner_get_TuningSpace_Proxy( 
  13350.     IAMTuner * This,
  13351.     /* [out] */ long *plTuningSpace);
  13352.  
  13353.  
  13354. void __RPC_STUB IAMTuner_get_TuningSpace_Stub(
  13355.     IRpcStubBuffer *This,
  13356.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13357.     PRPC_MESSAGE _pRpcMessage,
  13358.     DWORD *_pdwStubPhase);
  13359.  
  13360.  
  13361. /* [local] */ HRESULT STDMETHODCALLTYPE IAMTuner_Logon_Proxy( 
  13362.     IAMTuner * This,
  13363.     /* [in] */ HANDLE hCurrentUser);
  13364.  
  13365.  
  13366. void __RPC_STUB IAMTuner_Logon_Stub(
  13367.     IRpcStubBuffer *This,
  13368.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13369.     PRPC_MESSAGE _pRpcMessage,
  13370.     DWORD *_pdwStubPhase);
  13371.  
  13372.  
  13373. HRESULT STDMETHODCALLTYPE IAMTuner_Logout_Proxy( 
  13374.     IAMTuner * This);
  13375.  
  13376.  
  13377. void __RPC_STUB IAMTuner_Logout_Stub(
  13378.     IRpcStubBuffer *This,
  13379.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13380.     PRPC_MESSAGE _pRpcMessage,
  13381.     DWORD *_pdwStubPhase);
  13382.  
  13383.  
  13384. HRESULT STDMETHODCALLTYPE IAMTuner_SignalPresent_Proxy( 
  13385.     IAMTuner * This,
  13386.     /* [out] */ long *plSignalStrength);
  13387.  
  13388.  
  13389. void __RPC_STUB IAMTuner_SignalPresent_Stub(
  13390.     IRpcStubBuffer *This,
  13391.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13392.     PRPC_MESSAGE _pRpcMessage,
  13393.     DWORD *_pdwStubPhase);
  13394.  
  13395.  
  13396. HRESULT STDMETHODCALLTYPE IAMTuner_put_Mode_Proxy( 
  13397.     IAMTuner * This,
  13398.     /* [in] */ AMTunerModeType lMode);
  13399.  
  13400.  
  13401. void __RPC_STUB IAMTuner_put_Mode_Stub(
  13402.     IRpcStubBuffer *This,
  13403.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13404.     PRPC_MESSAGE _pRpcMessage,
  13405.     DWORD *_pdwStubPhase);
  13406.  
  13407.  
  13408. HRESULT STDMETHODCALLTYPE IAMTuner_get_Mode_Proxy( 
  13409.     IAMTuner * This,
  13410.     /* [out] */ AMTunerModeType *plMode);
  13411.  
  13412.  
  13413. void __RPC_STUB IAMTuner_get_Mode_Stub(
  13414.     IRpcStubBuffer *This,
  13415.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13416.     PRPC_MESSAGE _pRpcMessage,
  13417.     DWORD *_pdwStubPhase);
  13418.  
  13419.  
  13420. HRESULT STDMETHODCALLTYPE IAMTuner_GetAvailableModes_Proxy( 
  13421.     IAMTuner * This,
  13422.     /* [out] */ long *plModes);
  13423.  
  13424.  
  13425. void __RPC_STUB IAMTuner_GetAvailableModes_Stub(
  13426.     IRpcStubBuffer *This,
  13427.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13428.     PRPC_MESSAGE _pRpcMessage,
  13429.     DWORD *_pdwStubPhase);
  13430.  
  13431.  
  13432. HRESULT STDMETHODCALLTYPE IAMTuner_RegisterNotificationCallBack_Proxy( 
  13433.     IAMTuner * This,
  13434.     /* [in] */ IAMTunerNotification *pNotify,
  13435.     /* [in] */ long lEvents);
  13436.  
  13437.  
  13438. void __RPC_STUB IAMTuner_RegisterNotificationCallBack_Stub(
  13439.     IRpcStubBuffer *This,
  13440.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13441.     PRPC_MESSAGE _pRpcMessage,
  13442.     DWORD *_pdwStubPhase);
  13443.  
  13444.  
  13445. HRESULT STDMETHODCALLTYPE IAMTuner_UnRegisterNotificationCallBack_Proxy( 
  13446.     IAMTuner * This,
  13447.     /* [in] */ IAMTunerNotification *pNotify);
  13448.  
  13449.  
  13450. void __RPC_STUB IAMTuner_UnRegisterNotificationCallBack_Stub(
  13451.     IRpcStubBuffer *This,
  13452.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13453.     PRPC_MESSAGE _pRpcMessage,
  13454.     DWORD *_pdwStubPhase);
  13455.  
  13456.  
  13457.  
  13458. #endif     /* __IAMTuner_INTERFACE_DEFINED__ */
  13459.  
  13460.  
  13461. #ifndef __IAMTunerNotification_INTERFACE_DEFINED__
  13462. #define __IAMTunerNotification_INTERFACE_DEFINED__
  13463.  
  13464. /* interface IAMTunerNotification */
  13465. /* [unique][uuid][object] */ 
  13466.  
  13467.  
  13468. EXTERN_C const IID IID_IAMTunerNotification;
  13469.  
  13470. #if defined(__cplusplus) && !defined(CINTERFACE)
  13471.     
  13472.     MIDL_INTERFACE("211A8760-03AC-11d1-8D13-00AA00BD8339")
  13473.     IAMTunerNotification : public IUnknown
  13474.     {
  13475.     public:
  13476.         virtual HRESULT STDMETHODCALLTYPE OnEvent( 
  13477.             /* [in] */ AMTunerEventType Event) = 0;
  13478.         
  13479.     };
  13480.     
  13481. #else     /* C style interface */
  13482.  
  13483.     typedef struct IAMTunerNotificationVtbl
  13484.     {
  13485.         BEGIN_INTERFACE
  13486.         
  13487.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  13488.             IAMTunerNotification * This,
  13489.             /* [in] */ REFIID riid,
  13490.             /* [iid_is][out] */ void **ppvObject);
  13491.         
  13492.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  13493.             IAMTunerNotification * This);
  13494.         
  13495.         ULONG ( STDMETHODCALLTYPE *Release )( 
  13496.             IAMTunerNotification * This);
  13497.         
  13498.         HRESULT ( STDMETHODCALLTYPE *OnEvent )( 
  13499.             IAMTunerNotification * This,
  13500.             /* [in] */ AMTunerEventType Event);
  13501.         
  13502.         END_INTERFACE
  13503.     } IAMTunerNotificationVtbl;
  13504.  
  13505.     interface IAMTunerNotification
  13506.     {
  13507.         CONST_VTBL struct IAMTunerNotificationVtbl *lpVtbl;
  13508.     };
  13509.  
  13510.     
  13511.  
  13512. #ifdef COBJMACROS
  13513.  
  13514.  
  13515. #define IAMTunerNotification_QueryInterface(This,riid,ppvObject)    \
  13516.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13517.  
  13518. #define IAMTunerNotification_AddRef(This)    \
  13519.     (This)->lpVtbl -> AddRef(This)
  13520.  
  13521. #define IAMTunerNotification_Release(This)    \
  13522.     (This)->lpVtbl -> Release(This)
  13523.  
  13524.  
  13525. #define IAMTunerNotification_OnEvent(This,Event)    \
  13526.     (This)->lpVtbl -> OnEvent(This,Event)
  13527.  
  13528. #endif /* COBJMACROS */
  13529.  
  13530.  
  13531. #endif     /* C style interface */
  13532.  
  13533.  
  13534.  
  13535. HRESULT STDMETHODCALLTYPE IAMTunerNotification_OnEvent_Proxy( 
  13536.     IAMTunerNotification * This,
  13537.     /* [in] */ AMTunerEventType Event);
  13538.  
  13539.  
  13540. void __RPC_STUB IAMTunerNotification_OnEvent_Stub(
  13541.     IRpcStubBuffer *This,
  13542.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13543.     PRPC_MESSAGE _pRpcMessage,
  13544.     DWORD *_pdwStubPhase);
  13545.  
  13546.  
  13547.  
  13548. #endif     /* __IAMTunerNotification_INTERFACE_DEFINED__ */
  13549.  
  13550.  
  13551. #ifndef __IAMTVTuner_INTERFACE_DEFINED__
  13552. #define __IAMTVTuner_INTERFACE_DEFINED__
  13553.  
  13554. /* interface IAMTVTuner */
  13555. /* [unique][uuid][object] */ 
  13556.  
  13557.  
  13558. EXTERN_C const IID IID_IAMTVTuner;
  13559.  
  13560. #if defined(__cplusplus) && !defined(CINTERFACE)
  13561.     
  13562.     MIDL_INTERFACE("211A8766-03AC-11d1-8D13-00AA00BD8339")
  13563.     IAMTVTuner : public IAMTuner
  13564.     {
  13565.     public:
  13566.         virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats( 
  13567.             /* [out] */ long *lAnalogVideoStandard) = 0;
  13568.         
  13569.         virtual HRESULT STDMETHODCALLTYPE get_TVFormat( 
  13570.             /* [out] */ long *plAnalogVideoStandard) = 0;
  13571.         
  13572.         virtual HRESULT STDMETHODCALLTYPE AutoTune( 
  13573.             /* [in] */ long lChannel,
  13574.             /* [out] */ long *plFoundSignal) = 0;
  13575.         
  13576.         virtual HRESULT STDMETHODCALLTYPE StoreAutoTune( void) = 0;
  13577.         
  13578.         virtual HRESULT STDMETHODCALLTYPE get_NumInputConnections( 
  13579.             /* [out] */ long *plNumInputConnections) = 0;
  13580.         
  13581.         virtual HRESULT STDMETHODCALLTYPE put_InputType( 
  13582.             /* [in] */ long lIndex,
  13583.             /* [in] */ TunerInputType InputType) = 0;
  13584.         
  13585.         virtual HRESULT STDMETHODCALLTYPE get_InputType( 
  13586.             /* [in] */ long lIndex,
  13587.             /* [out] */ TunerInputType *pInputType) = 0;
  13588.         
  13589.         virtual HRESULT STDMETHODCALLTYPE put_ConnectInput( 
  13590.             /* [in] */ long lIndex) = 0;
  13591.         
  13592.         virtual HRESULT STDMETHODCALLTYPE get_ConnectInput( 
  13593.             /* [out] */ long *plIndex) = 0;
  13594.         
  13595.         virtual HRESULT STDMETHODCALLTYPE get_VideoFrequency( 
  13596.             /* [out] */ long *lFreq) = 0;
  13597.         
  13598.         virtual HRESULT STDMETHODCALLTYPE get_AudioFrequency( 
  13599.             /* [out] */ long *lFreq) = 0;
  13600.         
  13601.     };
  13602.     
  13603. #else     /* C style interface */
  13604.  
  13605.     typedef struct IAMTVTunerVtbl
  13606.     {
  13607.         BEGIN_INTERFACE
  13608.         
  13609.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  13610.             IAMTVTuner * This,
  13611.             /* [in] */ REFIID riid,
  13612.             /* [iid_is][out] */ void **ppvObject);
  13613.         
  13614.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  13615.             IAMTVTuner * This);
  13616.         
  13617.         ULONG ( STDMETHODCALLTYPE *Release )( 
  13618.             IAMTVTuner * This);
  13619.         
  13620.         HRESULT ( STDMETHODCALLTYPE *put_Channel )( 
  13621.             IAMTVTuner * This,
  13622.             /* [in] */ long lChannel,
  13623.             /* [in] */ long lVideoSubChannel,
  13624.             /* [in] */ long lAudioSubChannel);
  13625.         
  13626.         HRESULT ( STDMETHODCALLTYPE *get_Channel )( 
  13627.             IAMTVTuner * This,
  13628.             /* [out] */ long *plChannel,
  13629.             /* [out] */ long *plVideoSubChannel,
  13630.             /* [out] */ long *plAudioSubChannel);
  13631.         
  13632.         HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )( 
  13633.             IAMTVTuner * This,
  13634.             /* [out] */ long *lChannelMin,
  13635.             /* [out] */ long *lChannelMax);
  13636.         
  13637.         HRESULT ( STDMETHODCALLTYPE *put_CountryCode )( 
  13638.             IAMTVTuner * This,
  13639.             /* [in] */ long lCountryCode);
  13640.         
  13641.         HRESULT ( STDMETHODCALLTYPE *get_CountryCode )( 
  13642.             IAMTVTuner * This,
  13643.             /* [out] */ long *plCountryCode);
  13644.         
  13645.         HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )( 
  13646.             IAMTVTuner * This,
  13647.             /* [in] */ long lTuningSpace);
  13648.         
  13649.         HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )( 
  13650.             IAMTVTuner * This,
  13651.             /* [out] */ long *plTuningSpace);
  13652.         
  13653.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )( 
  13654.             IAMTVTuner * This,
  13655.             /* [in] */ HANDLE hCurrentUser);
  13656.         
  13657.         HRESULT ( STDMETHODCALLTYPE *Logout )( 
  13658.             IAMTVTuner * This);
  13659.         
  13660.         HRESULT ( STDMETHODCALLTYPE *SignalPresent )( 
  13661.             IAMTVTuner * This,
  13662.             /* [out] */ long *plSignalStrength);
  13663.         
  13664.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  13665.             IAMTVTuner * This,
  13666.             /* [in] */ AMTunerModeType lMode);
  13667.         
  13668.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  13669.             IAMTVTuner * This,
  13670.             /* [out] */ AMTunerModeType *plMode);
  13671.         
  13672.         HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )( 
  13673.             IAMTVTuner * This,
  13674.             /* [out] */ long *plModes);
  13675.         
  13676.         HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )( 
  13677.             IAMTVTuner * This,
  13678.             /* [in] */ IAMTunerNotification *pNotify,
  13679.             /* [in] */ long lEvents);
  13680.         
  13681.         HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )( 
  13682.             IAMTVTuner * This,
  13683.             /* [in] */ IAMTunerNotification *pNotify);
  13684.         
  13685.         HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )( 
  13686.             IAMTVTuner * This,
  13687.             /* [out] */ long *lAnalogVideoStandard);
  13688.         
  13689.         HRESULT ( STDMETHODCALLTYPE *get_TVFormat )( 
  13690.             IAMTVTuner * This,
  13691.             /* [out] */ long *plAnalogVideoStandard);
  13692.         
  13693.         HRESULT ( STDMETHODCALLTYPE *AutoTune )( 
  13694.             IAMTVTuner * This,
  13695.             /* [in] */ long lChannel,
  13696.             /* [out] */ long *plFoundSignal);
  13697.         
  13698.         HRESULT ( STDMETHODCALLTYPE *StoreAutoTune )( 
  13699.             IAMTVTuner * This);
  13700.         
  13701.         HRESULT ( STDMETHODCALLTYPE *get_NumInputConnections )( 
  13702.             IAMTVTuner * This,
  13703.             /* [out] */ long *plNumInputConnections);
  13704.         
  13705.         HRESULT ( STDMETHODCALLTYPE *put_InputType )( 
  13706.             IAMTVTuner * This,
  13707.             /* [in] */ long lIndex,
  13708.             /* [in] */ TunerInputType InputType);
  13709.         
  13710.         HRESULT ( STDMETHODCALLTYPE *get_InputType )( 
  13711.             IAMTVTuner * This,
  13712.             /* [in] */ long lIndex,
  13713.             /* [out] */ TunerInputType *pInputType);
  13714.         
  13715.         HRESULT ( STDMETHODCALLTYPE *put_ConnectInput )( 
  13716.             IAMTVTuner * This,
  13717.             /* [in] */ long lIndex);
  13718.         
  13719.         HRESULT ( STDMETHODCALLTYPE *get_ConnectInput )( 
  13720.             IAMTVTuner * This,
  13721.             /* [out] */ long *plIndex);
  13722.         
  13723.         HRESULT ( STDMETHODCALLTYPE *get_VideoFrequency )( 
  13724.             IAMTVTuner * This,
  13725.             /* [out] */ long *lFreq);
  13726.         
  13727.         HRESULT ( STDMETHODCALLTYPE *get_AudioFrequency )( 
  13728.             IAMTVTuner * This,
  13729.             /* [out] */ long *lFreq);
  13730.         
  13731.         END_INTERFACE
  13732.     } IAMTVTunerVtbl;
  13733.  
  13734.     interface IAMTVTuner
  13735.     {
  13736.         CONST_VTBL struct IAMTVTunerVtbl *lpVtbl;
  13737.     };
  13738.  
  13739.     
  13740.  
  13741. #ifdef COBJMACROS
  13742.  
  13743.  
  13744. #define IAMTVTuner_QueryInterface(This,riid,ppvObject)    \
  13745.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13746.  
  13747. #define IAMTVTuner_AddRef(This)    \
  13748.     (This)->lpVtbl -> AddRef(This)
  13749.  
  13750. #define IAMTVTuner_Release(This)    \
  13751.     (This)->lpVtbl -> Release(This)
  13752.  
  13753.  
  13754. #define IAMTVTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)    \
  13755.     (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  13756.  
  13757. #define IAMTVTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)    \
  13758.     (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  13759.  
  13760. #define IAMTVTuner_ChannelMinMax(This,lChannelMin,lChannelMax)    \
  13761.     (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
  13762.  
  13763. #define IAMTVTuner_put_CountryCode(This,lCountryCode)    \
  13764.     (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
  13765.  
  13766. #define IAMTVTuner_get_CountryCode(This,plCountryCode)    \
  13767.     (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
  13768.  
  13769. #define IAMTVTuner_put_TuningSpace(This,lTuningSpace)    \
  13770.     (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
  13771.  
  13772. #define IAMTVTuner_get_TuningSpace(This,plTuningSpace)    \
  13773.     (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
  13774.  
  13775. #define IAMTVTuner_Logon(This,hCurrentUser)    \
  13776.     (This)->lpVtbl -> Logon(This,hCurrentUser)
  13777.  
  13778. #define IAMTVTuner_Logout(This)    \
  13779.     (This)->lpVtbl -> Logout(This)
  13780.  
  13781. #define IAMTVTuner_SignalPresent(This,plSignalStrength)    \
  13782.     (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
  13783.  
  13784. #define IAMTVTuner_put_Mode(This,lMode)    \
  13785.     (This)->lpVtbl -> put_Mode(This,lMode)
  13786.  
  13787. #define IAMTVTuner_get_Mode(This,plMode)    \
  13788.     (This)->lpVtbl -> get_Mode(This,plMode)
  13789.  
  13790. #define IAMTVTuner_GetAvailableModes(This,plModes)    \
  13791.     (This)->lpVtbl -> GetAvailableModes(This,plModes)
  13792.  
  13793. #define IAMTVTuner_RegisterNotificationCallBack(This,pNotify,lEvents)    \
  13794.     (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  13795.  
  13796. #define IAMTVTuner_UnRegisterNotificationCallBack(This,pNotify)    \
  13797.     (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  13798.  
  13799.  
  13800. #define IAMTVTuner_get_AvailableTVFormats(This,lAnalogVideoStandard)    \
  13801.     (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
  13802.  
  13803. #define IAMTVTuner_get_TVFormat(This,plAnalogVideoStandard)    \
  13804.     (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
  13805.  
  13806. #define IAMTVTuner_AutoTune(This,lChannel,plFoundSignal)    \
  13807.     (This)->lpVtbl -> AutoTune(This,lChannel,plFoundSignal)
  13808.  
  13809. #define IAMTVTuner_StoreAutoTune(This)    \
  13810.     (This)->lpVtbl -> StoreAutoTune(This)
  13811.  
  13812. #define IAMTVTuner_get_NumInputConnections(This,plNumInputConnections)    \
  13813.     (This)->lpVtbl -> get_NumInputConnections(This,plNumInputConnections)
  13814.  
  13815. #define IAMTVTuner_put_InputType(This,lIndex,InputType)    \
  13816.     (This)->lpVtbl -> put_InputType(This,lIndex,InputType)
  13817.  
  13818. #define IAMTVTuner_get_InputType(This,lIndex,pInputType)    \
  13819.     (This)->lpVtbl -> get_InputType(This,lIndex,pInputType)
  13820.  
  13821. #define IAMTVTuner_put_ConnectInput(This,lIndex)    \
  13822.     (This)->lpVtbl -> put_ConnectInput(This,lIndex)
  13823.  
  13824. #define IAMTVTuner_get_ConnectInput(This,plIndex)    \
  13825.     (This)->lpVtbl -> get_ConnectInput(This,plIndex)
  13826.  
  13827. #define IAMTVTuner_get_VideoFrequency(This,lFreq)    \
  13828.     (This)->lpVtbl -> get_VideoFrequency(This,lFreq)
  13829.  
  13830. #define IAMTVTuner_get_AudioFrequency(This,lFreq)    \
  13831.     (This)->lpVtbl -> get_AudioFrequency(This,lFreq)
  13832.  
  13833. #endif /* COBJMACROS */
  13834.  
  13835.  
  13836. #endif     /* C style interface */
  13837.  
  13838.  
  13839.  
  13840. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_AvailableTVFormats_Proxy( 
  13841.     IAMTVTuner * This,
  13842.     /* [out] */ long *lAnalogVideoStandard);
  13843.  
  13844.  
  13845. void __RPC_STUB IAMTVTuner_get_AvailableTVFormats_Stub(
  13846.     IRpcStubBuffer *This,
  13847.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13848.     PRPC_MESSAGE _pRpcMessage,
  13849.     DWORD *_pdwStubPhase);
  13850.  
  13851.  
  13852. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_TVFormat_Proxy( 
  13853.     IAMTVTuner * This,
  13854.     /* [out] */ long *plAnalogVideoStandard);
  13855.  
  13856.  
  13857. void __RPC_STUB IAMTVTuner_get_TVFormat_Stub(
  13858.     IRpcStubBuffer *This,
  13859.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13860.     PRPC_MESSAGE _pRpcMessage,
  13861.     DWORD *_pdwStubPhase);
  13862.  
  13863.  
  13864. HRESULT STDMETHODCALLTYPE IAMTVTuner_AutoTune_Proxy( 
  13865.     IAMTVTuner * This,
  13866.     /* [in] */ long lChannel,
  13867.     /* [out] */ long *plFoundSignal);
  13868.  
  13869.  
  13870. void __RPC_STUB IAMTVTuner_AutoTune_Stub(
  13871.     IRpcStubBuffer *This,
  13872.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13873.     PRPC_MESSAGE _pRpcMessage,
  13874.     DWORD *_pdwStubPhase);
  13875.  
  13876.  
  13877. HRESULT STDMETHODCALLTYPE IAMTVTuner_StoreAutoTune_Proxy( 
  13878.     IAMTVTuner * This);
  13879.  
  13880.  
  13881. void __RPC_STUB IAMTVTuner_StoreAutoTune_Stub(
  13882.     IRpcStubBuffer *This,
  13883.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13884.     PRPC_MESSAGE _pRpcMessage,
  13885.     DWORD *_pdwStubPhase);
  13886.  
  13887.  
  13888. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_NumInputConnections_Proxy( 
  13889.     IAMTVTuner * This,
  13890.     /* [out] */ long *plNumInputConnections);
  13891.  
  13892.  
  13893. void __RPC_STUB IAMTVTuner_get_NumInputConnections_Stub(
  13894.     IRpcStubBuffer *This,
  13895.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13896.     PRPC_MESSAGE _pRpcMessage,
  13897.     DWORD *_pdwStubPhase);
  13898.  
  13899.  
  13900. HRESULT STDMETHODCALLTYPE IAMTVTuner_put_InputType_Proxy( 
  13901.     IAMTVTuner * This,
  13902.     /* [in] */ long lIndex,
  13903.     /* [in] */ TunerInputType InputType);
  13904.  
  13905.  
  13906. void __RPC_STUB IAMTVTuner_put_InputType_Stub(
  13907.     IRpcStubBuffer *This,
  13908.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13909.     PRPC_MESSAGE _pRpcMessage,
  13910.     DWORD *_pdwStubPhase);
  13911.  
  13912.  
  13913. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_InputType_Proxy( 
  13914.     IAMTVTuner * This,
  13915.     /* [in] */ long lIndex,
  13916.     /* [out] */ TunerInputType *pInputType);
  13917.  
  13918.  
  13919. void __RPC_STUB IAMTVTuner_get_InputType_Stub(
  13920.     IRpcStubBuffer *This,
  13921.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13922.     PRPC_MESSAGE _pRpcMessage,
  13923.     DWORD *_pdwStubPhase);
  13924.  
  13925.  
  13926. HRESULT STDMETHODCALLTYPE IAMTVTuner_put_ConnectInput_Proxy( 
  13927.     IAMTVTuner * This,
  13928.     /* [in] */ long lIndex);
  13929.  
  13930.  
  13931. void __RPC_STUB IAMTVTuner_put_ConnectInput_Stub(
  13932.     IRpcStubBuffer *This,
  13933.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13934.     PRPC_MESSAGE _pRpcMessage,
  13935.     DWORD *_pdwStubPhase);
  13936.  
  13937.  
  13938. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_ConnectInput_Proxy( 
  13939.     IAMTVTuner * This,
  13940.     /* [out] */ long *plIndex);
  13941.  
  13942.  
  13943. void __RPC_STUB IAMTVTuner_get_ConnectInput_Stub(
  13944.     IRpcStubBuffer *This,
  13945.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13946.     PRPC_MESSAGE _pRpcMessage,
  13947.     DWORD *_pdwStubPhase);
  13948.  
  13949.  
  13950. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_VideoFrequency_Proxy( 
  13951.     IAMTVTuner * This,
  13952.     /* [out] */ long *lFreq);
  13953.  
  13954.  
  13955. void __RPC_STUB IAMTVTuner_get_VideoFrequency_Stub(
  13956.     IRpcStubBuffer *This,
  13957.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13958.     PRPC_MESSAGE _pRpcMessage,
  13959.     DWORD *_pdwStubPhase);
  13960.  
  13961.  
  13962. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_AudioFrequency_Proxy( 
  13963.     IAMTVTuner * This,
  13964.     /* [out] */ long *lFreq);
  13965.  
  13966.  
  13967. void __RPC_STUB IAMTVTuner_get_AudioFrequency_Stub(
  13968.     IRpcStubBuffer *This,
  13969.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13970.     PRPC_MESSAGE _pRpcMessage,
  13971.     DWORD *_pdwStubPhase);
  13972.  
  13973.  
  13974.  
  13975. #endif     /* __IAMTVTuner_INTERFACE_DEFINED__ */
  13976.  
  13977.  
  13978. #ifndef __IBPCSatelliteTuner_INTERFACE_DEFINED__
  13979. #define __IBPCSatelliteTuner_INTERFACE_DEFINED__
  13980.  
  13981. /* interface IBPCSatelliteTuner */
  13982. /* [unique][uuid][local][object] */ 
  13983.  
  13984.  
  13985. EXTERN_C const IID IID_IBPCSatelliteTuner;
  13986.  
  13987. #if defined(__cplusplus) && !defined(CINTERFACE)
  13988.     
  13989.     MIDL_INTERFACE("211A8765-03AC-11d1-8D13-00AA00BD8339")
  13990.     IBPCSatelliteTuner : public IAMTuner
  13991.     {
  13992.     public:
  13993.         virtual HRESULT STDMETHODCALLTYPE get_DefaultSubChannelTypes( 
  13994.             /* [out] */ long *plDefaultVideoType,
  13995.             /* [out] */ long *plDefaultAudioType) = 0;
  13996.         
  13997.         virtual HRESULT STDMETHODCALLTYPE put_DefaultSubChannelTypes( 
  13998.             /* [in] */ long lDefaultVideoType,
  13999.             /* [in] */ long lDefaultAudioType) = 0;
  14000.         
  14001.         virtual HRESULT STDMETHODCALLTYPE IsTapingPermitted( void) = 0;
  14002.         
  14003.     };
  14004.     
  14005. #else     /* C style interface */
  14006.  
  14007.     typedef struct IBPCSatelliteTunerVtbl
  14008.     {
  14009.         BEGIN_INTERFACE
  14010.         
  14011.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  14012.             IBPCSatelliteTuner * This,
  14013.             /* [in] */ REFIID riid,
  14014.             /* [iid_is][out] */ void **ppvObject);
  14015.         
  14016.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  14017.             IBPCSatelliteTuner * This);
  14018.         
  14019.         ULONG ( STDMETHODCALLTYPE *Release )( 
  14020.             IBPCSatelliteTuner * This);
  14021.         
  14022.         HRESULT ( STDMETHODCALLTYPE *put_Channel )( 
  14023.             IBPCSatelliteTuner * This,
  14024.             /* [in] */ long lChannel,
  14025.             /* [in] */ long lVideoSubChannel,
  14026.             /* [in] */ long lAudioSubChannel);
  14027.         
  14028.         HRESULT ( STDMETHODCALLTYPE *get_Channel )( 
  14029.             IBPCSatelliteTuner * This,
  14030.             /* [out] */ long *plChannel,
  14031.             /* [out] */ long *plVideoSubChannel,
  14032.             /* [out] */ long *plAudioSubChannel);
  14033.         
  14034.         HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )( 
  14035.             IBPCSatelliteTuner * This,
  14036.             /* [out] */ long *lChannelMin,
  14037.             /* [out] */ long *lChannelMax);
  14038.         
  14039.         HRESULT ( STDMETHODCALLTYPE *put_CountryCode )( 
  14040.             IBPCSatelliteTuner * This,
  14041.             /* [in] */ long lCountryCode);
  14042.         
  14043.         HRESULT ( STDMETHODCALLTYPE *get_CountryCode )( 
  14044.             IBPCSatelliteTuner * This,
  14045.             /* [out] */ long *plCountryCode);
  14046.         
  14047.         HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )( 
  14048.             IBPCSatelliteTuner * This,
  14049.             /* [in] */ long lTuningSpace);
  14050.         
  14051.         HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )( 
  14052.             IBPCSatelliteTuner * This,
  14053.             /* [out] */ long *plTuningSpace);
  14054.         
  14055.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )( 
  14056.             IBPCSatelliteTuner * This,
  14057.             /* [in] */ HANDLE hCurrentUser);
  14058.         
  14059.         HRESULT ( STDMETHODCALLTYPE *Logout )( 
  14060.             IBPCSatelliteTuner * This);
  14061.         
  14062.         HRESULT ( STDMETHODCALLTYPE *SignalPresent )( 
  14063.             IBPCSatelliteTuner * This,
  14064.             /* [out] */ long *plSignalStrength);
  14065.         
  14066.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  14067.             IBPCSatelliteTuner * This,
  14068.             /* [in] */ AMTunerModeType lMode);
  14069.         
  14070.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  14071.             IBPCSatelliteTuner * This,
  14072.             /* [out] */ AMTunerModeType *plMode);
  14073.         
  14074.         HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )( 
  14075.             IBPCSatelliteTuner * This,
  14076.             /* [out] */ long *plModes);
  14077.         
  14078.         HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )( 
  14079.             IBPCSatelliteTuner * This,
  14080.             /* [in] */ IAMTunerNotification *pNotify,
  14081.             /* [in] */ long lEvents);
  14082.         
  14083.         HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )( 
  14084.             IBPCSatelliteTuner * This,
  14085.             /* [in] */ IAMTunerNotification *pNotify);
  14086.         
  14087.         HRESULT ( STDMETHODCALLTYPE *get_DefaultSubChannelTypes )( 
  14088.             IBPCSatelliteTuner * This,
  14089.             /* [out] */ long *plDefaultVideoType,
  14090.             /* [out] */ long *plDefaultAudioType);
  14091.         
  14092.         HRESULT ( STDMETHODCALLTYPE *put_DefaultSubChannelTypes )( 
  14093.             IBPCSatelliteTuner * This,
  14094.             /* [in] */ long lDefaultVideoType,
  14095.             /* [in] */ long lDefaultAudioType);
  14096.         
  14097.         HRESULT ( STDMETHODCALLTYPE *IsTapingPermitted )( 
  14098.             IBPCSatelliteTuner * This);
  14099.         
  14100.         END_INTERFACE
  14101.     } IBPCSatelliteTunerVtbl;
  14102.  
  14103.     interface IBPCSatelliteTuner
  14104.     {
  14105.         CONST_VTBL struct IBPCSatelliteTunerVtbl *lpVtbl;
  14106.     };
  14107.  
  14108.     
  14109.  
  14110. #ifdef COBJMACROS
  14111.  
  14112.  
  14113. #define IBPCSatelliteTuner_QueryInterface(This,riid,ppvObject)    \
  14114.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14115.  
  14116. #define IBPCSatelliteTuner_AddRef(This)    \
  14117.     (This)->lpVtbl -> AddRef(This)
  14118.  
  14119. #define IBPCSatelliteTuner_Release(This)    \
  14120.     (This)->lpVtbl -> Release(This)
  14121.  
  14122.  
  14123. #define IBPCSatelliteTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)    \
  14124.     (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  14125.  
  14126. #define IBPCSatelliteTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)    \
  14127.     (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  14128.  
  14129. #define IBPCSatelliteTuner_ChannelMinMax(This,lChannelMin,lChannelMax)    \
  14130.     (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
  14131.  
  14132. #define IBPCSatelliteTuner_put_CountryCode(This,lCountryCode)    \
  14133.     (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
  14134.  
  14135. #define IBPCSatelliteTuner_get_CountryCode(This,plCountryCode)    \
  14136.     (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
  14137.  
  14138. #define IBPCSatelliteTuner_put_TuningSpace(This,lTuningSpace)    \
  14139.     (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
  14140.  
  14141. #define IBPCSatelliteTuner_get_TuningSpace(This,plTuningSpace)    \
  14142.     (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
  14143.  
  14144. #define IBPCSatelliteTuner_Logon(This,hCurrentUser)    \
  14145.     (This)->lpVtbl -> Logon(This,hCurrentUser)
  14146.  
  14147. #define IBPCSatelliteTuner_Logout(This)    \
  14148.     (This)->lpVtbl -> Logout(This)
  14149.  
  14150. #define IBPCSatelliteTuner_SignalPresent(This,plSignalStrength)    \
  14151.     (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
  14152.  
  14153. #define IBPCSatelliteTuner_put_Mode(This,lMode)    \
  14154.     (This)->lpVtbl -> put_Mode(This,lMode)
  14155.  
  14156. #define IBPCSatelliteTuner_get_Mode(This,plMode)    \
  14157.     (This)->lpVtbl -> get_Mode(This,plMode)
  14158.  
  14159. #define IBPCSatelliteTuner_GetAvailableModes(This,plModes)    \
  14160.     (This)->lpVtbl -> GetAvailableModes(This,plModes)
  14161.  
  14162. #define IBPCSatelliteTuner_RegisterNotificationCallBack(This,pNotify,lEvents)    \
  14163.     (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  14164.  
  14165. #define IBPCSatelliteTuner_UnRegisterNotificationCallBack(This,pNotify)    \
  14166.     (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  14167.  
  14168.  
  14169. #define IBPCSatelliteTuner_get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType)    \
  14170.     (This)->lpVtbl -> get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType)
  14171.  
  14172. #define IBPCSatelliteTuner_put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType)    \
  14173.     (This)->lpVtbl -> put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType)
  14174.  
  14175. #define IBPCSatelliteTuner_IsTapingPermitted(This)    \
  14176.     (This)->lpVtbl -> IsTapingPermitted(This)
  14177.  
  14178. #endif /* COBJMACROS */
  14179.  
  14180.  
  14181. #endif     /* C style interface */
  14182.  
  14183.  
  14184.  
  14185. HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_get_DefaultSubChannelTypes_Proxy( 
  14186.     IBPCSatelliteTuner * This,
  14187.     /* [out] */ long *plDefaultVideoType,
  14188.     /* [out] */ long *plDefaultAudioType);
  14189.  
  14190.  
  14191. void __RPC_STUB IBPCSatelliteTuner_get_DefaultSubChannelTypes_Stub(
  14192.     IRpcStubBuffer *This,
  14193.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14194.     PRPC_MESSAGE _pRpcMessage,
  14195.     DWORD *_pdwStubPhase);
  14196.  
  14197.  
  14198. HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_put_DefaultSubChannelTypes_Proxy( 
  14199.     IBPCSatelliteTuner * This,
  14200.     /* [in] */ long lDefaultVideoType,
  14201.     /* [in] */ long lDefaultAudioType);
  14202.  
  14203.  
  14204. void __RPC_STUB IBPCSatelliteTuner_put_DefaultSubChannelTypes_Stub(
  14205.     IRpcStubBuffer *This,
  14206.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14207.     PRPC_MESSAGE _pRpcMessage,
  14208.     DWORD *_pdwStubPhase);
  14209.  
  14210.  
  14211. HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_IsTapingPermitted_Proxy( 
  14212.     IBPCSatelliteTuner * This);
  14213.  
  14214.  
  14215. void __RPC_STUB IBPCSatelliteTuner_IsTapingPermitted_Stub(
  14216.     IRpcStubBuffer *This,
  14217.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14218.     PRPC_MESSAGE _pRpcMessage,
  14219.     DWORD *_pdwStubPhase);
  14220.  
  14221.  
  14222.  
  14223. #endif     /* __IBPCSatelliteTuner_INTERFACE_DEFINED__ */
  14224.  
  14225.  
  14226. /* interface __MIDL_itf_strmif_0178 */
  14227. /* [local] */ 
  14228.  
  14229. typedef 
  14230. enum tagTVAudioMode
  14231.     {    AMTVAUDIO_MODE_MONO    = 0x1,
  14232.     AMTVAUDIO_MODE_STEREO    = 0x2,
  14233.     AMTVAUDIO_MODE_LANG_A    = 0x10,
  14234.     AMTVAUDIO_MODE_LANG_B    = 0x20,
  14235.     AMTVAUDIO_MODE_LANG_C    = 0x40
  14236.     }     TVAudioMode;
  14237.  
  14238. typedef 
  14239. enum tagAMTVAudioEventType
  14240.     {    AMTVAUDIO_EVENT_CHANGED    = 0x1
  14241.     }     AMTVAudioEventType;
  14242.  
  14243.  
  14244.  
  14245.  
  14246. extern RPC_IF_HANDLE __MIDL_itf_strmif_0178_v0_0_c_ifspec;
  14247. extern RPC_IF_HANDLE __MIDL_itf_strmif_0178_v0_0_s_ifspec;
  14248.  
  14249. #ifndef __IAMTVAudio_INTERFACE_DEFINED__
  14250. #define __IAMTVAudio_INTERFACE_DEFINED__
  14251.  
  14252. /* interface IAMTVAudio */
  14253. /* [unique][uuid][local][object] */ 
  14254.  
  14255.  
  14256. EXTERN_C const IID IID_IAMTVAudio;
  14257.  
  14258. #if defined(__cplusplus) && !defined(CINTERFACE)
  14259.     
  14260.     MIDL_INTERFACE("83EC1C30-23D1-11d1-99E6-00A0C9560266")
  14261.     IAMTVAudio : public IUnknown
  14262.     {
  14263.     public:
  14264.         virtual HRESULT STDMETHODCALLTYPE GetHardwareSupportedTVAudioModes( 
  14265.             /* [out] */ long *plModes) = 0;
  14266.         
  14267.         virtual HRESULT STDMETHODCALLTYPE GetAvailableTVAudioModes( 
  14268.             /* [out] */ long *plModes) = 0;
  14269.         
  14270.         virtual HRESULT STDMETHODCALLTYPE get_TVAudioMode( 
  14271.             /* [out] */ long *plMode) = 0;
  14272.         
  14273.         virtual HRESULT STDMETHODCALLTYPE put_TVAudioMode( 
  14274.             /* [in] */ long lMode) = 0;
  14275.         
  14276.         virtual HRESULT STDMETHODCALLTYPE RegisterNotificationCallBack( 
  14277.             /* [in] */ IAMTunerNotification *pNotify,
  14278.             /* [in] */ long lEvents) = 0;
  14279.         
  14280.         virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationCallBack( 
  14281.             IAMTunerNotification *pNotify) = 0;
  14282.         
  14283.     };
  14284.     
  14285. #else     /* C style interface */
  14286.  
  14287.     typedef struct IAMTVAudioVtbl
  14288.     {
  14289.         BEGIN_INTERFACE
  14290.         
  14291.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  14292.             IAMTVAudio * This,
  14293.             /* [in] */ REFIID riid,
  14294.             /* [iid_is][out] */ void **ppvObject);
  14295.         
  14296.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  14297.             IAMTVAudio * This);
  14298.         
  14299.         ULONG ( STDMETHODCALLTYPE *Release )( 
  14300.             IAMTVAudio * This);
  14301.         
  14302.         HRESULT ( STDMETHODCALLTYPE *GetHardwareSupportedTVAudioModes )( 
  14303.             IAMTVAudio * This,
  14304.             /* [out] */ long *plModes);
  14305.         
  14306.         HRESULT ( STDMETHODCALLTYPE *GetAvailableTVAudioModes )( 
  14307.             IAMTVAudio * This,
  14308.             /* [out] */ long *plModes);
  14309.         
  14310.         HRESULT ( STDMETHODCALLTYPE *get_TVAudioMode )( 
  14311.             IAMTVAudio * This,
  14312.             /* [out] */ long *plMode);
  14313.         
  14314.         HRESULT ( STDMETHODCALLTYPE *put_TVAudioMode )( 
  14315.             IAMTVAudio * This,
  14316.             /* [in] */ long lMode);
  14317.         
  14318.         HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )( 
  14319.             IAMTVAudio * This,
  14320.             /* [in] */ IAMTunerNotification *pNotify,
  14321.             /* [in] */ long lEvents);
  14322.         
  14323.         HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )( 
  14324.             IAMTVAudio * This,
  14325.             IAMTunerNotification *pNotify);
  14326.         
  14327.         END_INTERFACE
  14328.     } IAMTVAudioVtbl;
  14329.  
  14330.     interface IAMTVAudio
  14331.     {
  14332.         CONST_VTBL struct IAMTVAudioVtbl *lpVtbl;
  14333.     };
  14334.  
  14335.     
  14336.  
  14337. #ifdef COBJMACROS
  14338.  
  14339.  
  14340. #define IAMTVAudio_QueryInterface(This,riid,ppvObject)    \
  14341.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14342.  
  14343. #define IAMTVAudio_AddRef(This)    \
  14344.     (This)->lpVtbl -> AddRef(This)
  14345.  
  14346. #define IAMTVAudio_Release(This)    \
  14347.     (This)->lpVtbl -> Release(This)
  14348.  
  14349.  
  14350. #define IAMTVAudio_GetHardwareSupportedTVAudioModes(This,plModes)    \
  14351.     (This)->lpVtbl -> GetHardwareSupportedTVAudioModes(This,plModes)
  14352.  
  14353. #define IAMTVAudio_GetAvailableTVAudioModes(This,plModes)    \
  14354.     (This)->lpVtbl -> GetAvailableTVAudioModes(This,plModes)
  14355.  
  14356. #define IAMTVAudio_get_TVAudioMode(This,plMode)    \
  14357.     (This)->lpVtbl -> get_TVAudioMode(This,plMode)
  14358.  
  14359. #define IAMTVAudio_put_TVAudioMode(This,lMode)    \
  14360.     (This)->lpVtbl -> put_TVAudioMode(This,lMode)
  14361.  
  14362. #define IAMTVAudio_RegisterNotificationCallBack(This,pNotify,lEvents)    \
  14363.     (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  14364.  
  14365. #define IAMTVAudio_UnRegisterNotificationCallBack(This,pNotify)    \
  14366.     (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  14367.  
  14368. #endif /* COBJMACROS */
  14369.  
  14370.  
  14371. #endif     /* C style interface */
  14372.  
  14373.  
  14374.  
  14375. HRESULT STDMETHODCALLTYPE IAMTVAudio_GetHardwareSupportedTVAudioModes_Proxy( 
  14376.     IAMTVAudio * This,
  14377.     /* [out] */ long *plModes);
  14378.  
  14379.  
  14380. void __RPC_STUB IAMTVAudio_GetHardwareSupportedTVAudioModes_Stub(
  14381.     IRpcStubBuffer *This,
  14382.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14383.     PRPC_MESSAGE _pRpcMessage,
  14384.     DWORD *_pdwStubPhase);
  14385.  
  14386.  
  14387. HRESULT STDMETHODCALLTYPE IAMTVAudio_GetAvailableTVAudioModes_Proxy( 
  14388.     IAMTVAudio * This,
  14389.     /* [out] */ long *plModes);
  14390.  
  14391.  
  14392. void __RPC_STUB IAMTVAudio_GetAvailableTVAudioModes_Stub(
  14393.     IRpcStubBuffer *This,
  14394.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14395.     PRPC_MESSAGE _pRpcMessage,
  14396.     DWORD *_pdwStubPhase);
  14397.  
  14398.  
  14399. HRESULT STDMETHODCALLTYPE IAMTVAudio_get_TVAudioMode_Proxy( 
  14400.     IAMTVAudio * This,
  14401.     /* [out] */ long *plMode);
  14402.  
  14403.  
  14404. void __RPC_STUB IAMTVAudio_get_TVAudioMode_Stub(
  14405.     IRpcStubBuffer *This,
  14406.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14407.     PRPC_MESSAGE _pRpcMessage,
  14408.     DWORD *_pdwStubPhase);
  14409.  
  14410.  
  14411. HRESULT STDMETHODCALLTYPE IAMTVAudio_put_TVAudioMode_Proxy( 
  14412.     IAMTVAudio * This,
  14413.     /* [in] */ long lMode);
  14414.  
  14415.  
  14416. void __RPC_STUB IAMTVAudio_put_TVAudioMode_Stub(
  14417.     IRpcStubBuffer *This,
  14418.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14419.     PRPC_MESSAGE _pRpcMessage,
  14420.     DWORD *_pdwStubPhase);
  14421.  
  14422.  
  14423. HRESULT STDMETHODCALLTYPE IAMTVAudio_RegisterNotificationCallBack_Proxy( 
  14424.     IAMTVAudio * This,
  14425.     /* [in] */ IAMTunerNotification *pNotify,
  14426.     /* [in] */ long lEvents);
  14427.  
  14428.  
  14429. void __RPC_STUB IAMTVAudio_RegisterNotificationCallBack_Stub(
  14430.     IRpcStubBuffer *This,
  14431.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14432.     PRPC_MESSAGE _pRpcMessage,
  14433.     DWORD *_pdwStubPhase);
  14434.  
  14435.  
  14436. HRESULT STDMETHODCALLTYPE IAMTVAudio_UnRegisterNotificationCallBack_Proxy( 
  14437.     IAMTVAudio * This,
  14438.     IAMTunerNotification *pNotify);
  14439.  
  14440.  
  14441. void __RPC_STUB IAMTVAudio_UnRegisterNotificationCallBack_Stub(
  14442.     IRpcStubBuffer *This,
  14443.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14444.     PRPC_MESSAGE _pRpcMessage,
  14445.     DWORD *_pdwStubPhase);
  14446.  
  14447.  
  14448.  
  14449. #endif     /* __IAMTVAudio_INTERFACE_DEFINED__ */
  14450.  
  14451.  
  14452. #ifndef __IAMTVAudioNotification_INTERFACE_DEFINED__
  14453. #define __IAMTVAudioNotification_INTERFACE_DEFINED__
  14454.  
  14455. /* interface IAMTVAudioNotification */
  14456. /* [unique][uuid][local][object] */ 
  14457.  
  14458.  
  14459. EXTERN_C const IID IID_IAMTVAudioNotification;
  14460.  
  14461. #if defined(__cplusplus) && !defined(CINTERFACE)
  14462.     
  14463.     MIDL_INTERFACE("83EC1C33-23D1-11d1-99E6-00A0C9560266")
  14464.     IAMTVAudioNotification : public IUnknown
  14465.     {
  14466.     public:
  14467.         virtual HRESULT STDMETHODCALLTYPE OnEvent( 
  14468.             /* [in] */ AMTVAudioEventType Event) = 0;
  14469.         
  14470.     };
  14471.     
  14472. #else     /* C style interface */
  14473.  
  14474.     typedef struct IAMTVAudioNotificationVtbl
  14475.     {
  14476.         BEGIN_INTERFACE
  14477.         
  14478.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  14479.             IAMTVAudioNotification * This,
  14480.             /* [in] */ REFIID riid,
  14481.             /* [iid_is][out] */ void **ppvObject);
  14482.         
  14483.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  14484.             IAMTVAudioNotification * This);
  14485.         
  14486.         ULONG ( STDMETHODCALLTYPE *Release )( 
  14487.             IAMTVAudioNotification * This);
  14488.         
  14489.         HRESULT ( STDMETHODCALLTYPE *OnEvent )( 
  14490.             IAMTVAudioNotification * This,
  14491.             /* [in] */ AMTVAudioEventType Event);
  14492.         
  14493.         END_INTERFACE
  14494.     } IAMTVAudioNotificationVtbl;
  14495.  
  14496.     interface IAMTVAudioNotification
  14497.     {
  14498.         CONST_VTBL struct IAMTVAudioNotificationVtbl *lpVtbl;
  14499.     };
  14500.  
  14501.     
  14502.  
  14503. #ifdef COBJMACROS
  14504.  
  14505.  
  14506. #define IAMTVAudioNotification_QueryInterface(This,riid,ppvObject)    \
  14507.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14508.  
  14509. #define IAMTVAudioNotification_AddRef(This)    \
  14510.     (This)->lpVtbl -> AddRef(This)
  14511.  
  14512. #define IAMTVAudioNotification_Release(This)    \
  14513.     (This)->lpVtbl -> Release(This)
  14514.  
  14515.  
  14516. #define IAMTVAudioNotification_OnEvent(This,Event)    \
  14517.     (This)->lpVtbl -> OnEvent(This,Event)
  14518.  
  14519. #endif /* COBJMACROS */
  14520.  
  14521.  
  14522. #endif     /* C style interface */
  14523.  
  14524.  
  14525.  
  14526. HRESULT STDMETHODCALLTYPE IAMTVAudioNotification_OnEvent_Proxy( 
  14527.     IAMTVAudioNotification * This,
  14528.     /* [in] */ AMTVAudioEventType Event);
  14529.  
  14530.  
  14531. void __RPC_STUB IAMTVAudioNotification_OnEvent_Stub(
  14532.     IRpcStubBuffer *This,
  14533.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14534.     PRPC_MESSAGE _pRpcMessage,
  14535.     DWORD *_pdwStubPhase);
  14536.  
  14537.  
  14538.  
  14539. #endif     /* __IAMTVAudioNotification_INTERFACE_DEFINED__ */
  14540.  
  14541.  
  14542. #ifndef __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
  14543. #define __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
  14544.  
  14545. /* interface IAMAnalogVideoEncoder */
  14546. /* [unique][uuid][object] */ 
  14547.  
  14548.  
  14549. EXTERN_C const IID IID_IAMAnalogVideoEncoder;
  14550.  
  14551. #if defined(__cplusplus) && !defined(CINTERFACE)
  14552.     
  14553.     MIDL_INTERFACE("C6E133B0-30AC-11d0-A18C-00A0C9118956")
  14554.     IAMAnalogVideoEncoder : public IUnknown
  14555.     {
  14556.     public:
  14557.         virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats( 
  14558.             /* [out] */ long *lAnalogVideoStandard) = 0;
  14559.         
  14560.         virtual HRESULT STDMETHODCALLTYPE put_TVFormat( 
  14561.             /* [in] */ long lAnalogVideoStandard) = 0;
  14562.         
  14563.         virtual HRESULT STDMETHODCALLTYPE get_TVFormat( 
  14564.             /* [out] */ long *plAnalogVideoStandard) = 0;
  14565.         
  14566.         virtual HRESULT STDMETHODCALLTYPE put_CopyProtection( 
  14567.             /* [in] */ long lVideoCopyProtection) = 0;
  14568.         
  14569.         virtual HRESULT STDMETHODCALLTYPE get_CopyProtection( 
  14570.             /* [out] */ long *lVideoCopyProtection) = 0;
  14571.         
  14572.         virtual HRESULT STDMETHODCALLTYPE put_CCEnable( 
  14573.             /* [in] */ long lCCEnable) = 0;
  14574.         
  14575.         virtual HRESULT STDMETHODCALLTYPE get_CCEnable( 
  14576.             /* [out] */ long *lCCEnable) = 0;
  14577.         
  14578.     };
  14579.     
  14580. #else     /* C style interface */
  14581.  
  14582.     typedef struct IAMAnalogVideoEncoderVtbl
  14583.     {
  14584.         BEGIN_INTERFACE
  14585.         
  14586.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  14587.             IAMAnalogVideoEncoder * This,
  14588.             /* [in] */ REFIID riid,
  14589.             /* [iid_is][out] */ void **ppvObject);
  14590.         
  14591.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  14592.             IAMAnalogVideoEncoder * This);
  14593.         
  14594.         ULONG ( STDMETHODCALLTYPE *Release )( 
  14595.             IAMAnalogVideoEncoder * This);
  14596.         
  14597.         HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )( 
  14598.             IAMAnalogVideoEncoder * This,
  14599.             /* [out] */ long *lAnalogVideoStandard);
  14600.         
  14601.         HRESULT ( STDMETHODCALLTYPE *put_TVFormat )( 
  14602.             IAMAnalogVideoEncoder * This,
  14603.             /* [in] */ long lAnalogVideoStandard);
  14604.         
  14605.         HRESULT ( STDMETHODCALLTYPE *get_TVFormat )( 
  14606.             IAMAnalogVideoEncoder * This,
  14607.             /* [out] */ long *plAnalogVideoStandard);
  14608.         
  14609.         HRESULT ( STDMETHODCALLTYPE *put_CopyProtection )( 
  14610.             IAMAnalogVideoEncoder * This,
  14611.             /* [in] */ long lVideoCopyProtection);
  14612.         
  14613.         HRESULT ( STDMETHODCALLTYPE *get_CopyProtection )( 
  14614.             IAMAnalogVideoEncoder * This,
  14615.             /* [out] */ long *lVideoCopyProtection);
  14616.         
  14617.         HRESULT ( STDMETHODCALLTYPE *put_CCEnable )( 
  14618.             IAMAnalogVideoEncoder * This,
  14619.             /* [in] */ long lCCEnable);
  14620.         
  14621.         HRESULT ( STDMETHODCALLTYPE *get_CCEnable )( 
  14622.             IAMAnalogVideoEncoder * This,
  14623.             /* [out] */ long *lCCEnable);
  14624.         
  14625.         END_INTERFACE
  14626.     } IAMAnalogVideoEncoderVtbl;
  14627.  
  14628.     interface IAMAnalogVideoEncoder
  14629.     {
  14630.         CONST_VTBL struct IAMAnalogVideoEncoderVtbl *lpVtbl;
  14631.     };
  14632.  
  14633.     
  14634.  
  14635. #ifdef COBJMACROS
  14636.  
  14637.  
  14638. #define IAMAnalogVideoEncoder_QueryInterface(This,riid,ppvObject)    \
  14639.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14640.  
  14641. #define IAMAnalogVideoEncoder_AddRef(This)    \
  14642.     (This)->lpVtbl -> AddRef(This)
  14643.  
  14644. #define IAMAnalogVideoEncoder_Release(This)    \
  14645.     (This)->lpVtbl -> Release(This)
  14646.  
  14647.  
  14648. #define IAMAnalogVideoEncoder_get_AvailableTVFormats(This,lAnalogVideoStandard)    \
  14649.     (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
  14650.  
  14651. #define IAMAnalogVideoEncoder_put_TVFormat(This,lAnalogVideoStandard)    \
  14652.     (This)->lpVtbl -> put_TVFormat(This,lAnalogVideoStandard)
  14653.  
  14654. #define IAMAnalogVideoEncoder_get_TVFormat(This,plAnalogVideoStandard)    \
  14655.     (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
  14656.  
  14657. #define IAMAnalogVideoEncoder_put_CopyProtection(This,lVideoCopyProtection)    \
  14658.     (This)->lpVtbl -> put_CopyProtection(This,lVideoCopyProtection)
  14659.  
  14660. #define IAMAnalogVideoEncoder_get_CopyProtection(This,lVideoCopyProtection)    \
  14661.     (This)->lpVtbl -> get_CopyProtection(This,lVideoCopyProtection)
  14662.  
  14663. #define IAMAnalogVideoEncoder_put_CCEnable(This,lCCEnable)    \
  14664.     (This)->lpVtbl -> put_CCEnable(This,lCCEnable)
  14665.  
  14666. #define IAMAnalogVideoEncoder_get_CCEnable(This,lCCEnable)    \
  14667.     (This)->lpVtbl -> get_CCEnable(This,lCCEnable)
  14668.  
  14669. #endif /* COBJMACROS */
  14670.  
  14671.  
  14672. #endif     /* C style interface */
  14673.  
  14674.  
  14675.  
  14676. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_AvailableTVFormats_Proxy( 
  14677.     IAMAnalogVideoEncoder * This,
  14678.     /* [out] */ long *lAnalogVideoStandard);
  14679.  
  14680.  
  14681. void __RPC_STUB IAMAnalogVideoEncoder_get_AvailableTVFormats_Stub(
  14682.     IRpcStubBuffer *This,
  14683.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14684.     PRPC_MESSAGE _pRpcMessage,
  14685.     DWORD *_pdwStubPhase);
  14686.  
  14687.  
  14688. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_TVFormat_Proxy( 
  14689.     IAMAnalogVideoEncoder * This,
  14690.     /* [in] */ long lAnalogVideoStandard);
  14691.  
  14692.  
  14693. void __RPC_STUB IAMAnalogVideoEncoder_put_TVFormat_Stub(
  14694.     IRpcStubBuffer *This,
  14695.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14696.     PRPC_MESSAGE _pRpcMessage,
  14697.     DWORD *_pdwStubPhase);
  14698.  
  14699.  
  14700. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_TVFormat_Proxy( 
  14701.     IAMAnalogVideoEncoder * This,
  14702.     /* [out] */ long *plAnalogVideoStandard);
  14703.  
  14704.  
  14705. void __RPC_STUB IAMAnalogVideoEncoder_get_TVFormat_Stub(
  14706.     IRpcStubBuffer *This,
  14707.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14708.     PRPC_MESSAGE _pRpcMessage,
  14709.     DWORD *_pdwStubPhase);
  14710.  
  14711.  
  14712. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_CopyProtection_Proxy( 
  14713.     IAMAnalogVideoEncoder * This,
  14714.     /* [in] */ long lVideoCopyProtection);
  14715.  
  14716.  
  14717. void __RPC_STUB IAMAnalogVideoEncoder_put_CopyProtection_Stub(
  14718.     IRpcStubBuffer *This,
  14719.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14720.     PRPC_MESSAGE _pRpcMessage,
  14721.     DWORD *_pdwStubPhase);
  14722.  
  14723.  
  14724. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_CopyProtection_Proxy( 
  14725.     IAMAnalogVideoEncoder * This,
  14726.     /* [out] */ long *lVideoCopyProtection);
  14727.  
  14728.  
  14729. void __RPC_STUB IAMAnalogVideoEncoder_get_CopyProtection_Stub(
  14730.     IRpcStubBuffer *This,
  14731.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14732.     PRPC_MESSAGE _pRpcMessage,
  14733.     DWORD *_pdwStubPhase);
  14734.  
  14735.  
  14736. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_CCEnable_Proxy( 
  14737.     IAMAnalogVideoEncoder * This,
  14738.     /* [in] */ long lCCEnable);
  14739.  
  14740.  
  14741. void __RPC_STUB IAMAnalogVideoEncoder_put_CCEnable_Stub(
  14742.     IRpcStubBuffer *This,
  14743.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14744.     PRPC_MESSAGE _pRpcMessage,
  14745.     DWORD *_pdwStubPhase);
  14746.  
  14747.  
  14748. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_CCEnable_Proxy( 
  14749.     IAMAnalogVideoEncoder * This,
  14750.     /* [out] */ long *lCCEnable);
  14751.  
  14752.  
  14753. void __RPC_STUB IAMAnalogVideoEncoder_get_CCEnable_Stub(
  14754.     IRpcStubBuffer *This,
  14755.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14756.     PRPC_MESSAGE _pRpcMessage,
  14757.     DWORD *_pdwStubPhase);
  14758.  
  14759.  
  14760.  
  14761. #endif     /* __IAMAnalogVideoEncoder_INTERFACE_DEFINED__ */
  14762.  
  14763.  
  14764. /* interface __MIDL_itf_strmif_0181 */
  14765. /* [local] */ 
  14766.  
  14767. typedef /* [public] */ 
  14768. enum __MIDL___MIDL_itf_strmif_0181_0001
  14769.     {    AMPROPERTY_PIN_CATEGORY    = 0,
  14770.     AMPROPERTY_PIN_MEDIUM    = AMPROPERTY_PIN_CATEGORY + 1
  14771.     }     AMPROPERTY_PIN;
  14772.  
  14773. #ifndef _IKsPropertySet_
  14774. #define _IKsPropertySet_
  14775. #define KSPROPERTY_SUPPORT_GET  1
  14776. #define KSPROPERTY_SUPPORT_SET  2
  14777.  
  14778.  
  14779. extern RPC_IF_HANDLE __MIDL_itf_strmif_0181_v0_0_c_ifspec;
  14780. extern RPC_IF_HANDLE __MIDL_itf_strmif_0181_v0_0_s_ifspec;
  14781.  
  14782. #ifndef __IKsPropertySet_INTERFACE_DEFINED__
  14783. #define __IKsPropertySet_INTERFACE_DEFINED__
  14784.  
  14785. /* interface IKsPropertySet */
  14786. /* [unique][uuid][object] */ 
  14787.  
  14788.  
  14789. EXTERN_C const IID IID_IKsPropertySet;
  14790.  
  14791. #if defined(__cplusplus) && !defined(CINTERFACE)
  14792.     
  14793.     MIDL_INTERFACE("31EFAC30-515C-11d0-A9AA-00AA0061BE93")
  14794.     IKsPropertySet : public IUnknown
  14795.     {
  14796.     public:
  14797.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Set( 
  14798.             /* [in] */ REFGUID guidPropSet,
  14799.             /* [in] */ DWORD dwPropID,
  14800.             /* [size_is][in] */ LPVOID pInstanceData,
  14801.             /* [in] */ DWORD cbInstanceData,
  14802.             /* [size_is][in] */ LPVOID pPropData,
  14803.             /* [in] */ DWORD cbPropData) = 0;
  14804.         
  14805.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Get( 
  14806.             /* [in] */ REFGUID guidPropSet,
  14807.             /* [in] */ DWORD dwPropID,
  14808.             /* [size_is][in] */ LPVOID pInstanceData,
  14809.             /* [in] */ DWORD cbInstanceData,
  14810.             /* [size_is][out] */ LPVOID pPropData,
  14811.             /* [in] */ DWORD cbPropData,
  14812.             /* [out] */ DWORD *pcbReturned) = 0;
  14813.         
  14814.         virtual HRESULT STDMETHODCALLTYPE QuerySupported( 
  14815.             /* [in] */ REFGUID guidPropSet,
  14816.             /* [in] */ DWORD dwPropID,
  14817.             /* [out] */ DWORD *pTypeSupport) = 0;
  14818.         
  14819.     };
  14820.     
  14821. #else     /* C style interface */
  14822.  
  14823.     typedef struct IKsPropertySetVtbl
  14824.     {
  14825.         BEGIN_INTERFACE
  14826.         
  14827.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  14828.             IKsPropertySet * This,
  14829.             /* [in] */ REFIID riid,
  14830.             /* [iid_is][out] */ void **ppvObject);
  14831.         
  14832.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  14833.             IKsPropertySet * This);
  14834.         
  14835.         ULONG ( STDMETHODCALLTYPE *Release )( 
  14836.             IKsPropertySet * This);
  14837.         
  14838.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Set )( 
  14839.             IKsPropertySet * This,
  14840.             /* [in] */ REFGUID guidPropSet,
  14841.             /* [in] */ DWORD dwPropID,
  14842.             /* [size_is][in] */ LPVOID pInstanceData,
  14843.             /* [in] */ DWORD cbInstanceData,
  14844.             /* [size_is][in] */ LPVOID pPropData,
  14845.             /* [in] */ DWORD cbPropData);
  14846.         
  14847.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Get )( 
  14848.             IKsPropertySet * This,
  14849.             /* [in] */ REFGUID guidPropSet,
  14850.             /* [in] */ DWORD dwPropID,
  14851.             /* [size_is][in] */ LPVOID pInstanceData,
  14852.             /* [in] */ DWORD cbInstanceData,
  14853.             /* [size_is][out] */ LPVOID pPropData,
  14854.             /* [in] */ DWORD cbPropData,
  14855.             /* [out] */ DWORD *pcbReturned);
  14856.         
  14857.         HRESULT ( STDMETHODCALLTYPE *QuerySupported )( 
  14858.             IKsPropertySet * This,
  14859.             /* [in] */ REFGUID guidPropSet,
  14860.             /* [in] */ DWORD dwPropID,
  14861.             /* [out] */ DWORD *pTypeSupport);
  14862.         
  14863.         END_INTERFACE
  14864.     } IKsPropertySetVtbl;
  14865.  
  14866.     interface IKsPropertySet
  14867.     {
  14868.         CONST_VTBL struct IKsPropertySetVtbl *lpVtbl;
  14869.     };
  14870.  
  14871.     
  14872.  
  14873. #ifdef COBJMACROS
  14874.  
  14875.  
  14876. #define IKsPropertySet_QueryInterface(This,riid,ppvObject)    \
  14877.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14878.  
  14879. #define IKsPropertySet_AddRef(This)    \
  14880.     (This)->lpVtbl -> AddRef(This)
  14881.  
  14882. #define IKsPropertySet_Release(This)    \
  14883.     (This)->lpVtbl -> Release(This)
  14884.  
  14885.  
  14886. #define IKsPropertySet_Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData)    \
  14887.     (This)->lpVtbl -> Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData)
  14888.  
  14889. #define IKsPropertySet_Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned)    \
  14890.     (This)->lpVtbl -> Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned)
  14891.  
  14892. #define IKsPropertySet_QuerySupported(This,guidPropSet,dwPropID,pTypeSupport)    \
  14893.     (This)->lpVtbl -> QuerySupported(This,guidPropSet,dwPropID,pTypeSupport)
  14894.  
  14895. #endif /* COBJMACROS */
  14896.  
  14897.  
  14898. #endif     /* C style interface */
  14899.  
  14900.  
  14901.  
  14902. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_RemoteSet_Proxy( 
  14903.     IKsPropertySet * This,
  14904.     /* [in] */ REFGUID guidPropSet,
  14905.     /* [in] */ DWORD dwPropID,
  14906.     /* [size_is][in] */ byte *pInstanceData,
  14907.     /* [in] */ DWORD cbInstanceData,
  14908.     /* [size_is][in] */ byte *pPropData,
  14909.     /* [in] */ DWORD cbPropData);
  14910.  
  14911.  
  14912. void __RPC_STUB IKsPropertySet_RemoteSet_Stub(
  14913.     IRpcStubBuffer *This,
  14914.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14915.     PRPC_MESSAGE _pRpcMessage,
  14916.     DWORD *_pdwStubPhase);
  14917.  
  14918.  
  14919. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_RemoteGet_Proxy( 
  14920.     IKsPropertySet * This,
  14921.     /* [in] */ REFGUID guidPropSet,
  14922.     /* [in] */ DWORD dwPropID,
  14923.     /* [size_is][in] */ byte *pInstanceData,
  14924.     /* [in] */ DWORD cbInstanceData,
  14925.     /* [size_is][out] */ byte *pPropData,
  14926.     /* [in] */ DWORD cbPropData,
  14927.     /* [out] */ DWORD *pcbReturned);
  14928.  
  14929.  
  14930. void __RPC_STUB IKsPropertySet_RemoteGet_Stub(
  14931.     IRpcStubBuffer *This,
  14932.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14933.     PRPC_MESSAGE _pRpcMessage,
  14934.     DWORD *_pdwStubPhase);
  14935.  
  14936.  
  14937. HRESULT STDMETHODCALLTYPE IKsPropertySet_QuerySupported_Proxy( 
  14938.     IKsPropertySet * This,
  14939.     /* [in] */ REFGUID guidPropSet,
  14940.     /* [in] */ DWORD dwPropID,
  14941.     /* [out] */ DWORD *pTypeSupport);
  14942.  
  14943.  
  14944. void __RPC_STUB IKsPropertySet_QuerySupported_Stub(
  14945.     IRpcStubBuffer *This,
  14946.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14947.     PRPC_MESSAGE _pRpcMessage,
  14948.     DWORD *_pdwStubPhase);
  14949.  
  14950.  
  14951.  
  14952. #endif     /* __IKsPropertySet_INTERFACE_DEFINED__ */
  14953.  
  14954.  
  14955. /* interface __MIDL_itf_strmif_0182 */
  14956. /* [local] */ 
  14957.  
  14958. #endif // _IKsPropertySet_
  14959.  
  14960.  
  14961. extern RPC_IF_HANDLE __MIDL_itf_strmif_0182_v0_0_c_ifspec;
  14962. extern RPC_IF_HANDLE __MIDL_itf_strmif_0182_v0_0_s_ifspec;
  14963.  
  14964. #ifndef __IMediaPropertyBag_INTERFACE_DEFINED__
  14965. #define __IMediaPropertyBag_INTERFACE_DEFINED__
  14966.  
  14967. /* interface IMediaPropertyBag */
  14968. /* [unique][uuid][object] */ 
  14969.  
  14970. typedef IMediaPropertyBag *LPMEDIAPROPERTYBAG;
  14971.  
  14972.  
  14973. EXTERN_C const IID IID_IMediaPropertyBag;
  14974.  
  14975. #if defined(__cplusplus) && !defined(CINTERFACE)
  14976.     
  14977.     MIDL_INTERFACE("6025A880-C0D5-11d0-BD4E-00A0C911CE86")
  14978.     IMediaPropertyBag : public IPropertyBag
  14979.     {
  14980.     public:
  14981.         virtual HRESULT STDMETHODCALLTYPE EnumProperty( 
  14982.             /* [in] */ ULONG iProperty,
  14983.             /* [out][in] */ VARIANT *pvarPropertyName,
  14984.             /* [out][in] */ VARIANT *pvarPropertyValue) = 0;
  14985.         
  14986.     };
  14987.     
  14988. #else     /* C style interface */
  14989.  
  14990.     typedef struct IMediaPropertyBagVtbl
  14991.     {
  14992.         BEGIN_INTERFACE
  14993.         
  14994.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  14995.             IMediaPropertyBag * This,
  14996.             /* [in] */ REFIID riid,
  14997.             /* [iid_is][out] */ void **ppvObject);
  14998.         
  14999.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  15000.             IMediaPropertyBag * This);
  15001.         
  15002.         ULONG ( STDMETHODCALLTYPE *Release )( 
  15003.             IMediaPropertyBag * This);
  15004.         
  15005.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )( 
  15006.             IMediaPropertyBag * This,
  15007.             /* [in] */ LPCOLESTR pszPropName,
  15008.             /* [out][in] */ VARIANT *pVar,
  15009.             /* [in] */ IErrorLog *pErrorLog);
  15010.         
  15011.         HRESULT ( STDMETHODCALLTYPE *Write )( 
  15012.             IMediaPropertyBag * This,
  15013.             /* [in] */ LPCOLESTR pszPropName,
  15014.             /* [in] */ VARIANT *pVar);
  15015.         
  15016.         HRESULT ( STDMETHODCALLTYPE *EnumProperty )( 
  15017.             IMediaPropertyBag * This,
  15018.             /* [in] */ ULONG iProperty,
  15019.             /* [out][in] */ VARIANT *pvarPropertyName,
  15020.             /* [out][in] */ VARIANT *pvarPropertyValue);
  15021.         
  15022.         END_INTERFACE
  15023.     } IMediaPropertyBagVtbl;
  15024.  
  15025.     interface IMediaPropertyBag
  15026.     {
  15027.         CONST_VTBL struct IMediaPropertyBagVtbl *lpVtbl;
  15028.     };
  15029.  
  15030.     
  15031.  
  15032. #ifdef COBJMACROS
  15033.  
  15034.  
  15035. #define IMediaPropertyBag_QueryInterface(This,riid,ppvObject)    \
  15036.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15037.  
  15038. #define IMediaPropertyBag_AddRef(This)    \
  15039.     (This)->lpVtbl -> AddRef(This)
  15040.  
  15041. #define IMediaPropertyBag_Release(This)    \
  15042.     (This)->lpVtbl -> Release(This)
  15043.  
  15044.  
  15045. #define IMediaPropertyBag_Read(This,pszPropName,pVar,pErrorLog)    \
  15046.     (This)->lpVtbl -> Read(This,pszPropName,pVar,pErrorLog)
  15047.  
  15048. #define IMediaPropertyBag_Write(This,pszPropName,pVar)    \
  15049.     (This)->lpVtbl -> Write(This,pszPropName,pVar)
  15050.  
  15051.  
  15052. #define IMediaPropertyBag_EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue)    \
  15053.     (This)->lpVtbl -> EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue)
  15054.  
  15055. #endif /* COBJMACROS */
  15056.  
  15057.  
  15058. #endif     /* C style interface */
  15059.  
  15060.  
  15061.  
  15062. HRESULT STDMETHODCALLTYPE IMediaPropertyBag_EnumProperty_Proxy( 
  15063.     IMediaPropertyBag * This,
  15064.     /* [in] */ ULONG iProperty,
  15065.     /* [out][in] */ VARIANT *pvarPropertyName,
  15066.     /* [out][in] */ VARIANT *pvarPropertyValue);
  15067.  
  15068.  
  15069. void __RPC_STUB IMediaPropertyBag_EnumProperty_Stub(
  15070.     IRpcStubBuffer *This,
  15071.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15072.     PRPC_MESSAGE _pRpcMessage,
  15073.     DWORD *_pdwStubPhase);
  15074.  
  15075.  
  15076.  
  15077. #endif     /* __IMediaPropertyBag_INTERFACE_DEFINED__ */
  15078.  
  15079.  
  15080. #ifndef __IPersistMediaPropertyBag_INTERFACE_DEFINED__
  15081. #define __IPersistMediaPropertyBag_INTERFACE_DEFINED__
  15082.  
  15083. /* interface IPersistMediaPropertyBag */
  15084. /* [unique][uuid][object] */ 
  15085.  
  15086. typedef IPersistMediaPropertyBag *LPPERSISTMEDIAPROPERTYBAG;
  15087.  
  15088.  
  15089. EXTERN_C const IID IID_IPersistMediaPropertyBag;
  15090.  
  15091. #if defined(__cplusplus) && !defined(CINTERFACE)
  15092.     
  15093.     MIDL_INTERFACE("5738E040-B67F-11d0-BD4D-00A0C911CE86")
  15094.     IPersistMediaPropertyBag : public IPersist
  15095.     {
  15096.     public:
  15097.         virtual HRESULT STDMETHODCALLTYPE InitNew( void) = 0;
  15098.         
  15099.         virtual HRESULT STDMETHODCALLTYPE Load( 
  15100.             /* [in] */ IMediaPropertyBag *pPropBag,
  15101.             /* [in] */ IErrorLog *pErrorLog) = 0;
  15102.         
  15103.         virtual HRESULT STDMETHODCALLTYPE Save( 
  15104.             /* [in] */ IMediaPropertyBag *pPropBag,
  15105.             /* [in] */ BOOL fClearDirty,
  15106.             /* [in] */ BOOL fSaveAllProperties) = 0;
  15107.         
  15108.     };
  15109.     
  15110. #else     /* C style interface */
  15111.  
  15112.     typedef struct IPersistMediaPropertyBagVtbl
  15113.     {
  15114.         BEGIN_INTERFACE
  15115.         
  15116.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  15117.             IPersistMediaPropertyBag * This,
  15118.             /* [in] */ REFIID riid,
  15119.             /* [iid_is][out] */ void **ppvObject);
  15120.         
  15121.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  15122.             IPersistMediaPropertyBag * This);
  15123.         
  15124.         ULONG ( STDMETHODCALLTYPE *Release )( 
  15125.             IPersistMediaPropertyBag * This);
  15126.         
  15127.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  15128.             IPersistMediaPropertyBag * This,
  15129.             /* [out] */ CLSID *pClassID);
  15130.         
  15131.         HRESULT ( STDMETHODCALLTYPE *InitNew )( 
  15132.             IPersistMediaPropertyBag * This);
  15133.         
  15134.         HRESULT ( STDMETHODCALLTYPE *Load )( 
  15135.             IPersistMediaPropertyBag * This,
  15136.             /* [in] */ IMediaPropertyBag *pPropBag,
  15137.             /* [in] */ IErrorLog *pErrorLog);
  15138.         
  15139.         HRESULT ( STDMETHODCALLTYPE *Save )( 
  15140.             IPersistMediaPropertyBag * This,
  15141.             /* [in] */ IMediaPropertyBag *pPropBag,
  15142.             /* [in] */ BOOL fClearDirty,
  15143.             /* [in] */ BOOL fSaveAllProperties);
  15144.         
  15145.         END_INTERFACE
  15146.     } IPersistMediaPropertyBagVtbl;
  15147.  
  15148.     interface IPersistMediaPropertyBag
  15149.     {
  15150.         CONST_VTBL struct IPersistMediaPropertyBagVtbl *lpVtbl;
  15151.     };
  15152.  
  15153.     
  15154.  
  15155. #ifdef COBJMACROS
  15156.  
  15157.  
  15158. #define IPersistMediaPropertyBag_QueryInterface(This,riid,ppvObject)    \
  15159.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15160.  
  15161. #define IPersistMediaPropertyBag_AddRef(This)    \
  15162.     (This)->lpVtbl -> AddRef(This)
  15163.  
  15164. #define IPersistMediaPropertyBag_Release(This)    \
  15165.     (This)->lpVtbl -> Release(This)
  15166.  
  15167.  
  15168. #define IPersistMediaPropertyBag_GetClassID(This,pClassID)    \
  15169.     (This)->lpVtbl -> GetClassID(This,pClassID)
  15170.  
  15171.  
  15172. #define IPersistMediaPropertyBag_InitNew(This)    \
  15173.     (This)->lpVtbl -> InitNew(This)
  15174.  
  15175. #define IPersistMediaPropertyBag_Load(This,pPropBag,pErrorLog)    \
  15176.     (This)->lpVtbl -> Load(This,pPropBag,pErrorLog)
  15177.  
  15178. #define IPersistMediaPropertyBag_Save(This,pPropBag,fClearDirty,fSaveAllProperties)    \
  15179.     (This)->lpVtbl -> Save(This,pPropBag,fClearDirty,fSaveAllProperties)
  15180.  
  15181. #endif /* COBJMACROS */
  15182.  
  15183.  
  15184. #endif     /* C style interface */
  15185.  
  15186.  
  15187.  
  15188. HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_InitNew_Proxy( 
  15189.     IPersistMediaPropertyBag * This);
  15190.  
  15191.  
  15192. void __RPC_STUB IPersistMediaPropertyBag_InitNew_Stub(
  15193.     IRpcStubBuffer *This,
  15194.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15195.     PRPC_MESSAGE _pRpcMessage,
  15196.     DWORD *_pdwStubPhase);
  15197.  
  15198.  
  15199. HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_Load_Proxy( 
  15200.     IPersistMediaPropertyBag * This,
  15201.     /* [in] */ IMediaPropertyBag *pPropBag,
  15202.     /* [in] */ IErrorLog *pErrorLog);
  15203.  
  15204.  
  15205. void __RPC_STUB IPersistMediaPropertyBag_Load_Stub(
  15206.     IRpcStubBuffer *This,
  15207.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15208.     PRPC_MESSAGE _pRpcMessage,
  15209.     DWORD *_pdwStubPhase);
  15210.  
  15211.  
  15212. HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_Save_Proxy( 
  15213.     IPersistMediaPropertyBag * This,
  15214.     /* [in] */ IMediaPropertyBag *pPropBag,
  15215.     /* [in] */ BOOL fClearDirty,
  15216.     /* [in] */ BOOL fSaveAllProperties);
  15217.  
  15218.  
  15219. void __RPC_STUB IPersistMediaPropertyBag_Save_Stub(
  15220.     IRpcStubBuffer *This,
  15221.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15222.     PRPC_MESSAGE _pRpcMessage,
  15223.     DWORD *_pdwStubPhase);
  15224.  
  15225.  
  15226.  
  15227. #endif     /* __IPersistMediaPropertyBag_INTERFACE_DEFINED__ */
  15228.  
  15229.  
  15230. #ifndef __IAMPhysicalPinInfo_INTERFACE_DEFINED__
  15231. #define __IAMPhysicalPinInfo_INTERFACE_DEFINED__
  15232.  
  15233. /* interface IAMPhysicalPinInfo */
  15234. /* [unique][uuid][object] */ 
  15235.  
  15236.  
  15237. EXTERN_C const IID IID_IAMPhysicalPinInfo;
  15238.  
  15239. #if defined(__cplusplus) && !defined(CINTERFACE)
  15240.     
  15241.     MIDL_INTERFACE("F938C991-3029-11cf-8C44-00AA006B6814")
  15242.     IAMPhysicalPinInfo : public IUnknown
  15243.     {
  15244.     public:
  15245.         virtual HRESULT STDMETHODCALLTYPE GetPhysicalType( 
  15246.             /* [out] */ long *pType,
  15247.             /* [out] */ LPOLESTR *ppszType) = 0;
  15248.         
  15249.     };
  15250.     
  15251. #else     /* C style interface */
  15252.  
  15253.     typedef struct IAMPhysicalPinInfoVtbl
  15254.     {
  15255.         BEGIN_INTERFACE
  15256.         
  15257.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  15258.             IAMPhysicalPinInfo * This,
  15259.             /* [in] */ REFIID riid,
  15260.             /* [iid_is][out] */ void **ppvObject);
  15261.         
  15262.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  15263.             IAMPhysicalPinInfo * This);
  15264.         
  15265.         ULONG ( STDMETHODCALLTYPE *Release )( 
  15266.             IAMPhysicalPinInfo * This);
  15267.         
  15268.         HRESULT ( STDMETHODCALLTYPE *GetPhysicalType )( 
  15269.             IAMPhysicalPinInfo * This,
  15270.             /* [out] */ long *pType,
  15271.             /* [out] */ LPOLESTR *ppszType);
  15272.         
  15273.         END_INTERFACE
  15274.     } IAMPhysicalPinInfoVtbl;
  15275.  
  15276.     interface IAMPhysicalPinInfo
  15277.     {
  15278.         CONST_VTBL struct IAMPhysicalPinInfoVtbl *lpVtbl;
  15279.     };
  15280.  
  15281.     
  15282.  
  15283. #ifdef COBJMACROS
  15284.  
  15285.  
  15286. #define IAMPhysicalPinInfo_QueryInterface(This,riid,ppvObject)    \
  15287.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15288.  
  15289. #define IAMPhysicalPinInfo_AddRef(This)    \
  15290.     (This)->lpVtbl -> AddRef(This)
  15291.  
  15292. #define IAMPhysicalPinInfo_Release(This)    \
  15293.     (This)->lpVtbl -> Release(This)
  15294.  
  15295.  
  15296. #define IAMPhysicalPinInfo_GetPhysicalType(This,pType,ppszType)    \
  15297.     (This)->lpVtbl -> GetPhysicalType(This,pType,ppszType)
  15298.  
  15299. #endif /* COBJMACROS */
  15300.  
  15301.  
  15302. #endif     /* C style interface */
  15303.  
  15304.  
  15305.  
  15306. HRESULT STDMETHODCALLTYPE IAMPhysicalPinInfo_GetPhysicalType_Proxy( 
  15307.     IAMPhysicalPinInfo * This,
  15308.     /* [out] */ long *pType,
  15309.     /* [out] */ LPOLESTR *ppszType);
  15310.  
  15311.  
  15312. void __RPC_STUB IAMPhysicalPinInfo_GetPhysicalType_Stub(
  15313.     IRpcStubBuffer *This,
  15314.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15315.     PRPC_MESSAGE _pRpcMessage,
  15316.     DWORD *_pdwStubPhase);
  15317.  
  15318.  
  15319.  
  15320. #endif     /* __IAMPhysicalPinInfo_INTERFACE_DEFINED__ */
  15321.  
  15322.  
  15323. /* interface __MIDL_itf_strmif_0331 */
  15324. /* [local] */ 
  15325.  
  15326. typedef IAMPhysicalPinInfo *PAMPHYSICALPININFO;
  15327.  
  15328.  
  15329.  
  15330. extern RPC_IF_HANDLE __MIDL_itf_strmif_0331_v0_0_c_ifspec;
  15331. extern RPC_IF_HANDLE __MIDL_itf_strmif_0331_v0_0_s_ifspec;
  15332.  
  15333. #ifndef __IAMExtDevice_INTERFACE_DEFINED__
  15334. #define __IAMExtDevice_INTERFACE_DEFINED__
  15335.  
  15336. /* interface IAMExtDevice */
  15337. /* [unique][uuid][object] */ 
  15338.  
  15339.  
  15340. EXTERN_C const IID IID_IAMExtDevice;
  15341.  
  15342. #if defined(__cplusplus) && !defined(CINTERFACE)
  15343.     
  15344.     MIDL_INTERFACE("B5730A90-1A2C-11cf-8C23-00AA006B6814")
  15345.     IAMExtDevice : public IUnknown
  15346.     {
  15347.     public:
  15348.         virtual HRESULT STDMETHODCALLTYPE GetCapability( 
  15349.             /* [in] */ long Capability,
  15350.             /* [out] */ long *pValue,
  15351.             /* [out] */ double *pdblValue) = 0;
  15352.         
  15353.         virtual HRESULT STDMETHODCALLTYPE get_ExternalDeviceID( 
  15354.             /* [out] */ LPOLESTR *ppszData) = 0;
  15355.         
  15356.         virtual HRESULT STDMETHODCALLTYPE get_ExternalDeviceVersion( 
  15357.             /* [out] */ LPOLESTR *ppszData) = 0;
  15358.         
  15359.         virtual HRESULT STDMETHODCALLTYPE put_DevicePower( 
  15360.             /* [in] */ long PowerMode) = 0;
  15361.         
  15362.         virtual HRESULT STDMETHODCALLTYPE get_DevicePower( 
  15363.             /* [out] */ long *pPowerMode) = 0;
  15364.         
  15365.         virtual HRESULT STDMETHODCALLTYPE Calibrate( 
  15366.             /* [in] */ HEVENT hEvent,
  15367.             /* [in] */ long Mode,
  15368.             /* [out] */ long *pStatus) = 0;
  15369.         
  15370.         virtual HRESULT STDMETHODCALLTYPE put_DevicePort( 
  15371.             /* [in] */ long DevicePort) = 0;
  15372.         
  15373.         virtual HRESULT STDMETHODCALLTYPE get_DevicePort( 
  15374.             /* [out] */ long *pDevicePort) = 0;
  15375.         
  15376.     };
  15377.     
  15378. #else     /* C style interface */
  15379.  
  15380.     typedef struct IAMExtDeviceVtbl
  15381.     {
  15382.         BEGIN_INTERFACE
  15383.         
  15384.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  15385.             IAMExtDevice * This,
  15386.             /* [in] */ REFIID riid,
  15387.             /* [iid_is][out] */ void **ppvObject);
  15388.         
  15389.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  15390.             IAMExtDevice * This);
  15391.         
  15392.         ULONG ( STDMETHODCALLTYPE *Release )( 
  15393.             IAMExtDevice * This);
  15394.         
  15395.         HRESULT ( STDMETHODCALLTYPE *GetCapability )( 
  15396.             IAMExtDevice * This,
  15397.             /* [in] */ long Capability,
  15398.             /* [out] */ long *pValue,
  15399.             /* [out] */ double *pdblValue);
  15400.         
  15401.         HRESULT ( STDMETHODCALLTYPE *get_ExternalDeviceID )( 
  15402.             IAMExtDevice * This,
  15403.             /* [out] */ LPOLESTR *ppszData);
  15404.         
  15405.         HRESULT ( STDMETHODCALLTYPE *get_ExternalDeviceVersion )( 
  15406.             IAMExtDevice * This,
  15407.             /* [out] */ LPOLESTR *ppszData);
  15408.         
  15409.         HRESULT ( STDMETHODCALLTYPE *put_DevicePower )( 
  15410.             IAMExtDevice * This,
  15411.             /* [in] */ long PowerMode);
  15412.         
  15413.         HRESULT ( STDMETHODCALLTYPE *get_DevicePower )( 
  15414.             IAMExtDevice * This,
  15415.             /* [out] */ long *pPowerMode);
  15416.         
  15417.         HRESULT ( STDMETHODCALLTYPE *Calibrate )( 
  15418.             IAMExtDevice * This,
  15419.             /* [in] */ HEVENT hEvent,
  15420.             /* [in] */ long Mode,
  15421.             /* [out] */ long *pStatus);
  15422.         
  15423.         HRESULT ( STDMETHODCALLTYPE *put_DevicePort )( 
  15424.             IAMExtDevice * This,
  15425.             /* [in] */ long DevicePort);
  15426.         
  15427.         HRESULT ( STDMETHODCALLTYPE *get_DevicePort )( 
  15428.             IAMExtDevice * This,
  15429.             /* [out] */ long *pDevicePort);
  15430.         
  15431.         END_INTERFACE
  15432.     } IAMExtDeviceVtbl;
  15433.  
  15434.     interface IAMExtDevice
  15435.     {
  15436.         CONST_VTBL struct IAMExtDeviceVtbl *lpVtbl;
  15437.     };
  15438.  
  15439.     
  15440.  
  15441. #ifdef COBJMACROS
  15442.  
  15443.  
  15444. #define IAMExtDevice_QueryInterface(This,riid,ppvObject)    \
  15445.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15446.  
  15447. #define IAMExtDevice_AddRef(This)    \
  15448.     (This)->lpVtbl -> AddRef(This)
  15449.  
  15450. #define IAMExtDevice_Release(This)    \
  15451.     (This)->lpVtbl -> Release(This)
  15452.  
  15453.  
  15454. #define IAMExtDevice_GetCapability(This,Capability,pValue,pdblValue)    \
  15455.     (This)->lpVtbl -> GetCapability(This,Capability,pValue,pdblValue)
  15456.  
  15457. #define IAMExtDevice_get_ExternalDeviceID(This,ppszData)    \
  15458.     (This)->lpVtbl -> get_ExternalDeviceID(This,ppszData)
  15459.  
  15460. #define IAMExtDevice_get_ExternalDeviceVersion(This,ppszData)    \
  15461.     (This)->lpVtbl -> get_ExternalDeviceVersion(This,ppszData)
  15462.  
  15463. #define IAMExtDevice_put_DevicePower(This,PowerMode)    \
  15464.     (This)->lpVtbl -> put_DevicePower(This,PowerMode)
  15465.  
  15466. #define IAMExtDevice_get_DevicePower(This,pPowerMode)    \
  15467.     (This)->lpVtbl -> get_DevicePower(This,pPowerMode)
  15468.  
  15469. #define IAMExtDevice_Calibrate(This,hEvent,Mode,pStatus)    \
  15470.     (This)->lpVtbl -> Calibrate(This,hEvent,Mode,pStatus)
  15471.  
  15472. #define IAMExtDevice_put_DevicePort(This,DevicePort)    \
  15473.     (This)->lpVtbl -> put_DevicePort(This,DevicePort)
  15474.  
  15475. #define IAMExtDevice_get_DevicePort(This,pDevicePort)    \
  15476.     (This)->lpVtbl -> get_DevicePort(This,pDevicePort)
  15477.  
  15478. #endif /* COBJMACROS */
  15479.  
  15480.  
  15481. #endif     /* C style interface */
  15482.  
  15483.  
  15484.  
  15485. HRESULT STDMETHODCALLTYPE IAMExtDevice_GetCapability_Proxy( 
  15486.     IAMExtDevice * This,
  15487.     /* [in] */ long Capability,
  15488.     /* [out] */ long *pValue,
  15489.     /* [out] */ double *pdblValue);
  15490.  
  15491.  
  15492. void __RPC_STUB IAMExtDevice_GetCapability_Stub(
  15493.     IRpcStubBuffer *This,
  15494.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15495.     PRPC_MESSAGE _pRpcMessage,
  15496.     DWORD *_pdwStubPhase);
  15497.  
  15498.  
  15499. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_ExternalDeviceID_Proxy( 
  15500.     IAMExtDevice * This,
  15501.     /* [out] */ LPOLESTR *ppszData);
  15502.  
  15503.  
  15504. void __RPC_STUB IAMExtDevice_get_ExternalDeviceID_Stub(
  15505.     IRpcStubBuffer *This,
  15506.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15507.     PRPC_MESSAGE _pRpcMessage,
  15508.     DWORD *_pdwStubPhase);
  15509.  
  15510.  
  15511. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_ExternalDeviceVersion_Proxy( 
  15512.     IAMExtDevice * This,
  15513.     /* [out] */ LPOLESTR *ppszData);
  15514.  
  15515.  
  15516. void __RPC_STUB IAMExtDevice_get_ExternalDeviceVersion_Stub(
  15517.     IRpcStubBuffer *This,
  15518.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15519.     PRPC_MESSAGE _pRpcMessage,
  15520.     DWORD *_pdwStubPhase);
  15521.  
  15522.  
  15523. HRESULT STDMETHODCALLTYPE IAMExtDevice_put_DevicePower_Proxy( 
  15524.     IAMExtDevice * This,
  15525.     /* [in] */ long PowerMode);
  15526.  
  15527.  
  15528. void __RPC_STUB IAMExtDevice_put_DevicePower_Stub(
  15529.     IRpcStubBuffer *This,
  15530.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15531.     PRPC_MESSAGE _pRpcMessage,
  15532.     DWORD *_pdwStubPhase);
  15533.  
  15534.  
  15535. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_DevicePower_Proxy( 
  15536.     IAMExtDevice * This,
  15537.     /* [out] */ long *pPowerMode);
  15538.  
  15539.  
  15540. void __RPC_STUB IAMExtDevice_get_DevicePower_Stub(
  15541.     IRpcStubBuffer *This,
  15542.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15543.     PRPC_MESSAGE _pRpcMessage,
  15544.     DWORD *_pdwStubPhase);
  15545.  
  15546.  
  15547. HRESULT STDMETHODCALLTYPE IAMExtDevice_Calibrate_Proxy( 
  15548.     IAMExtDevice * This,
  15549.     /* [in] */ HEVENT hEvent,
  15550.     /* [in] */ long Mode,
  15551.     /* [out] */ long *pStatus);
  15552.  
  15553.  
  15554. void __RPC_STUB IAMExtDevice_Calibrate_Stub(
  15555.     IRpcStubBuffer *This,
  15556.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15557.     PRPC_MESSAGE _pRpcMessage,
  15558.     DWORD *_pdwStubPhase);
  15559.  
  15560.  
  15561. HRESULT STDMETHODCALLTYPE IAMExtDevice_put_DevicePort_Proxy( 
  15562.     IAMExtDevice * This,
  15563.     /* [in] */ long DevicePort);
  15564.  
  15565.  
  15566. void __RPC_STUB IAMExtDevice_put_DevicePort_Stub(
  15567.     IRpcStubBuffer *This,
  15568.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15569.     PRPC_MESSAGE _pRpcMessage,
  15570.     DWORD *_pdwStubPhase);
  15571.  
  15572.  
  15573. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_DevicePort_Proxy( 
  15574.     IAMExtDevice * This,
  15575.     /* [out] */ long *pDevicePort);
  15576.  
  15577.  
  15578. void __RPC_STUB IAMExtDevice_get_DevicePort_Stub(
  15579.     IRpcStubBuffer *This,
  15580.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15581.     PRPC_MESSAGE _pRpcMessage,
  15582.     DWORD *_pdwStubPhase);
  15583.  
  15584.  
  15585.  
  15586. #endif     /* __IAMExtDevice_INTERFACE_DEFINED__ */
  15587.  
  15588.  
  15589. /* interface __MIDL_itf_strmif_0332 */
  15590. /* [local] */ 
  15591.  
  15592. typedef IAMExtDevice *PEXTDEVICE;
  15593.  
  15594.  
  15595.  
  15596. extern RPC_IF_HANDLE __MIDL_itf_strmif_0332_v0_0_c_ifspec;
  15597. extern RPC_IF_HANDLE __MIDL_itf_strmif_0332_v0_0_s_ifspec;
  15598.  
  15599. #ifndef __IAMExtTransport_INTERFACE_DEFINED__
  15600. #define __IAMExtTransport_INTERFACE_DEFINED__
  15601.  
  15602. /* interface IAMExtTransport */
  15603. /* [unique][uuid][object] */ 
  15604.  
  15605.  
  15606. EXTERN_C const IID IID_IAMExtTransport;
  15607.  
  15608. #if defined(__cplusplus) && !defined(CINTERFACE)
  15609.     
  15610.     MIDL_INTERFACE("A03CD5F0-3045-11cf-8C44-00AA006B6814")
  15611.     IAMExtTransport : public IUnknown
  15612.     {
  15613.     public:
  15614.         virtual HRESULT STDMETHODCALLTYPE GetCapability( 
  15615.             /* [in] */ long Capability,
  15616.             /* [out] */ long *pValue,
  15617.             /* [out] */ double *pdblValue) = 0;
  15618.         
  15619.         virtual HRESULT STDMETHODCALLTYPE put_MediaState( 
  15620.             /* [in] */ long State) = 0;
  15621.         
  15622.         virtual HRESULT STDMETHODCALLTYPE get_MediaState( 
  15623.             /* [out] */ long *pState) = 0;
  15624.         
  15625.         virtual HRESULT STDMETHODCALLTYPE put_LocalControl( 
  15626.             /* [in] */ long State) = 0;
  15627.         
  15628.         virtual HRESULT STDMETHODCALLTYPE get_LocalControl( 
  15629.             /* [out] */ long *pState) = 0;
  15630.         
  15631.         virtual HRESULT STDMETHODCALLTYPE GetStatus( 
  15632.             /* [in] */ long StatusItem,
  15633.             /* [out] */ long *pValue) = 0;
  15634.         
  15635.         virtual HRESULT STDMETHODCALLTYPE GetTransportBasicParameters( 
  15636.             /* [in] */ long Param,
  15637.             /* [out] */ long *pValue,
  15638.             /* [out] */ LPOLESTR *ppszData) = 0;
  15639.         
  15640.         virtual HRESULT STDMETHODCALLTYPE SetTransportBasicParameters( 
  15641.             /* [in] */ long Param,
  15642.             /* [in] */ long Value,
  15643.             /* [in] */ LPCOLESTR pszData) = 0;
  15644.         
  15645.         virtual HRESULT STDMETHODCALLTYPE GetTransportVideoParameters( 
  15646.             /* [in] */ long Param,
  15647.             /* [out] */ long *pValue) = 0;
  15648.         
  15649.         virtual HRESULT STDMETHODCALLTYPE SetTransportVideoParameters( 
  15650.             /* [in] */ long Param,
  15651.             /* [in] */ long Value) = 0;
  15652.         
  15653.         virtual HRESULT STDMETHODCALLTYPE GetTransportAudioParameters( 
  15654.             /* [in] */ long Param,
  15655.             /* [out] */ long *pValue) = 0;
  15656.         
  15657.         virtual HRESULT STDMETHODCALLTYPE SetTransportAudioParameters( 
  15658.             /* [in] */ long Param,
  15659.             /* [in] */ long Value) = 0;
  15660.         
  15661.         virtual HRESULT STDMETHODCALLTYPE put_Mode( 
  15662.             /* [in] */ long Mode) = 0;
  15663.         
  15664.         virtual HRESULT STDMETHODCALLTYPE get_Mode( 
  15665.             /* [out] */ long *pMode) = 0;
  15666.         
  15667.         virtual HRESULT STDMETHODCALLTYPE put_Rate( 
  15668.             /* [in] */ double dblRate) = 0;
  15669.         
  15670.         virtual HRESULT STDMETHODCALLTYPE get_Rate( 
  15671.             /* [out] */ double *pdblRate) = 0;
  15672.         
  15673.         virtual HRESULT STDMETHODCALLTYPE GetChase( 
  15674.             /* [out] */ long *pEnabled,
  15675.             /* [out] */ long *pOffset,
  15676.             /* [out] */ HEVENT *phEvent) = 0;
  15677.         
  15678.         virtual HRESULT STDMETHODCALLTYPE SetChase( 
  15679.             /* [in] */ long Enable,
  15680.             /* [in] */ long Offset,
  15681.             /* [in] */ HEVENT hEvent) = 0;
  15682.         
  15683.         virtual HRESULT STDMETHODCALLTYPE GetBump( 
  15684.             /* [out] */ long *pSpeed,
  15685.             /* [out] */ long *pDuration) = 0;
  15686.         
  15687.         virtual HRESULT STDMETHODCALLTYPE SetBump( 
  15688.             /* [in] */ long Speed,
  15689.             /* [in] */ long Duration) = 0;
  15690.         
  15691.         virtual HRESULT STDMETHODCALLTYPE get_AntiClogControl( 
  15692.             /* [out] */ long *pEnabled) = 0;
  15693.         
  15694.         virtual HRESULT STDMETHODCALLTYPE put_AntiClogControl( 
  15695.             /* [in] */ long Enable) = 0;
  15696.         
  15697.         virtual HRESULT STDMETHODCALLTYPE GetEditPropertySet( 
  15698.             /* [in] */ long EditID,
  15699.             /* [out] */ long *pState) = 0;
  15700.         
  15701.         virtual HRESULT STDMETHODCALLTYPE SetEditPropertySet( 
  15702.             /* [out][in] */ long *pEditID,
  15703.             /* [in] */ long State) = 0;
  15704.         
  15705.         virtual HRESULT STDMETHODCALLTYPE GetEditProperty( 
  15706.             /* [in] */ long EditID,
  15707.             /* [in] */ long Param,
  15708.             /* [out] */ long *pValue) = 0;
  15709.         
  15710.         virtual HRESULT STDMETHODCALLTYPE SetEditProperty( 
  15711.             /* [in] */ long EditID,
  15712.             /* [in] */ long Param,
  15713.             /* [in] */ long Value) = 0;
  15714.         
  15715.         virtual HRESULT STDMETHODCALLTYPE get_EditStart( 
  15716.             /* [out] */ long *pValue) = 0;
  15717.         
  15718.         virtual HRESULT STDMETHODCALLTYPE put_EditStart( 
  15719.             /* [in] */ long Value) = 0;
  15720.         
  15721.     };
  15722.     
  15723. #else     /* C style interface */
  15724.  
  15725.     typedef struct IAMExtTransportVtbl
  15726.     {
  15727.         BEGIN_INTERFACE
  15728.         
  15729.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  15730.             IAMExtTransport * This,
  15731.             /* [in] */ REFIID riid,
  15732.             /* [iid_is][out] */ void **ppvObject);
  15733.         
  15734.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  15735.             IAMExtTransport * This);
  15736.         
  15737.         ULONG ( STDMETHODCALLTYPE *Release )( 
  15738.             IAMExtTransport * This);
  15739.         
  15740.         HRESULT ( STDMETHODCALLTYPE *GetCapability )( 
  15741.             IAMExtTransport * This,
  15742.             /* [in] */ long Capability,
  15743.             /* [out] */ long *pValue,
  15744.             /* [out] */ double *pdblValue);
  15745.         
  15746.         HRESULT ( STDMETHODCALLTYPE *put_MediaState )( 
  15747.             IAMExtTransport * This,
  15748.             /* [in] */ long State);
  15749.         
  15750.         HRESULT ( STDMETHODCALLTYPE *get_MediaState )( 
  15751.             IAMExtTransport * This,
  15752.             /* [out] */ long *pState);
  15753.         
  15754.         HRESULT ( STDMETHODCALLTYPE *put_LocalControl )( 
  15755.             IAMExtTransport * This,
  15756.             /* [in] */ long State);
  15757.         
  15758.         HRESULT ( STDMETHODCALLTYPE *get_LocalControl )( 
  15759.             IAMExtTransport * This,
  15760.             /* [out] */ long *pState);
  15761.         
  15762.         HRESULT ( STDMETHODCALLTYPE *GetStatus )( 
  15763.             IAMExtTransport * This,
  15764.             /* [in] */ long StatusItem,
  15765.             /* [out] */ long *pValue);
  15766.         
  15767.         HRESULT ( STDMETHODCALLTYPE *GetTransportBasicParameters )( 
  15768.             IAMExtTransport * This,
  15769.             /* [in] */ long Param,
  15770.             /* [out] */ long *pValue,
  15771.             /* [out] */ LPOLESTR *ppszData);
  15772.         
  15773.         HRESULT ( STDMETHODCALLTYPE *SetTransportBasicParameters )( 
  15774.             IAMExtTransport * This,
  15775.             /* [in] */ long Param,
  15776.             /* [in] */ long Value,
  15777.             /* [in] */ LPCOLESTR pszData);
  15778.         
  15779.         HRESULT ( STDMETHODCALLTYPE *GetTransportVideoParameters )( 
  15780.             IAMExtTransport * This,
  15781.             /* [in] */ long Param,
  15782.             /* [out] */ long *pValue);
  15783.         
  15784.         HRESULT ( STDMETHODCALLTYPE *SetTransportVideoParameters )( 
  15785.             IAMExtTransport * This,
  15786.             /* [in] */ long Param,
  15787.             /* [in] */ long Value);
  15788.         
  15789.         HRESULT ( STDMETHODCALLTYPE *GetTransportAudioParameters )( 
  15790.             IAMExtTransport * This,
  15791.             /* [in] */ long Param,
  15792.             /* [out] */ long *pValue);
  15793.         
  15794.         HRESULT ( STDMETHODCALLTYPE *SetTransportAudioParameters )( 
  15795.             IAMExtTransport * This,
  15796.             /* [in] */ long Param,
  15797.             /* [in] */ long Value);
  15798.         
  15799.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  15800.             IAMExtTransport * This,
  15801.             /* [in] */ long Mode);
  15802.         
  15803.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  15804.             IAMExtTransport * This,
  15805.             /* [out] */ long *pMode);
  15806.         
  15807.         HRESULT ( STDMETHODCALLTYPE *put_Rate )( 
  15808.             IAMExtTransport * This,
  15809.             /* [in] */ double dblRate);
  15810.         
  15811.         HRESULT ( STDMETHODCALLTYPE *get_Rate )( 
  15812.             IAMExtTransport * This,
  15813.             /* [out] */ double *pdblRate);
  15814.         
  15815.         HRESULT ( STDMETHODCALLTYPE *GetChase )( 
  15816.             IAMExtTransport * This,
  15817.             /* [out] */ long *pEnabled,
  15818.             /* [out] */ long *pOffset,
  15819.             /* [out] */ HEVENT *phEvent);
  15820.         
  15821.         HRESULT ( STDMETHODCALLTYPE *SetChase )( 
  15822.             IAMExtTransport * This,
  15823.             /* [in] */ long Enable,
  15824.             /* [in] */ long Offset,
  15825.             /* [in] */ HEVENT hEvent);
  15826.         
  15827.         HRESULT ( STDMETHODCALLTYPE *GetBump )( 
  15828.             IAMExtTransport * This,
  15829.             /* [out] */ long *pSpeed,
  15830.             /* [out] */ long *pDuration);
  15831.         
  15832.         HRESULT ( STDMETHODCALLTYPE *SetBump )( 
  15833.             IAMExtTransport * This,
  15834.             /* [in] */ long Speed,
  15835.             /* [in] */ long Duration);
  15836.         
  15837.         HRESULT ( STDMETHODCALLTYPE *get_AntiClogControl )( 
  15838.             IAMExtTransport * This,
  15839.             /* [out] */ long *pEnabled);
  15840.         
  15841.         HRESULT ( STDMETHODCALLTYPE *put_AntiClogControl )( 
  15842.             IAMExtTransport * This,
  15843.             /* [in] */ long Enable);
  15844.         
  15845.         HRESULT ( STDMETHODCALLTYPE *GetEditPropertySet )( 
  15846.             IAMExtTransport * This,
  15847.             /* [in] */ long EditID,
  15848.             /* [out] */ long *pState);
  15849.         
  15850.         HRESULT ( STDMETHODCALLTYPE *SetEditPropertySet )( 
  15851.             IAMExtTransport * This,
  15852.             /* [out][in] */ long *pEditID,
  15853.             /* [in] */ long State);
  15854.         
  15855.         HRESULT ( STDMETHODCALLTYPE *GetEditProperty )( 
  15856.             IAMExtTransport * This,
  15857.             /* [in] */ long EditID,
  15858.             /* [in] */ long Param,
  15859.             /* [out] */ long *pValue);
  15860.         
  15861.         HRESULT ( STDMETHODCALLTYPE *SetEditProperty )( 
  15862.             IAMExtTransport * This,
  15863.             /* [in] */ long EditID,
  15864.             /* [in] */ long Param,
  15865.             /* [in] */ long Value);
  15866.         
  15867.         HRESULT ( STDMETHODCALLTYPE *get_EditStart )( 
  15868.             IAMExtTransport * This,
  15869.             /* [out] */ long *pValue);
  15870.         
  15871.         HRESULT ( STDMETHODCALLTYPE *put_EditStart )( 
  15872.             IAMExtTransport * This,
  15873.             /* [in] */ long Value);
  15874.         
  15875.         END_INTERFACE
  15876.     } IAMExtTransportVtbl;
  15877.  
  15878.     interface IAMExtTransport
  15879.     {
  15880.         CONST_VTBL struct IAMExtTransportVtbl *lpVtbl;
  15881.     };
  15882.  
  15883.     
  15884.  
  15885. #ifdef COBJMACROS
  15886.  
  15887.  
  15888. #define IAMExtTransport_QueryInterface(This,riid,ppvObject)    \
  15889.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15890.  
  15891. #define IAMExtTransport_AddRef(This)    \
  15892.     (This)->lpVtbl -> AddRef(This)
  15893.  
  15894. #define IAMExtTransport_Release(This)    \
  15895.     (This)->lpVtbl -> Release(This)
  15896.  
  15897.  
  15898. #define IAMExtTransport_GetCapability(This,Capability,pValue,pdblValue)    \
  15899.     (This)->lpVtbl -> GetCapability(This,Capability,pValue,pdblValue)
  15900.  
  15901. #define IAMExtTransport_put_MediaState(This,State)    \
  15902.     (This)->lpVtbl -> put_MediaState(This,State)
  15903.  
  15904. #define IAMExtTransport_get_MediaState(This,pState)    \
  15905.     (This)->lpVtbl -> get_MediaState(This,pState)
  15906.  
  15907. #define IAMExtTransport_put_LocalControl(This,State)    \
  15908.     (This)->lpVtbl -> put_LocalControl(This,State)
  15909.  
  15910. #define IAMExtTransport_get_LocalControl(This,pState)    \
  15911.     (This)->lpVtbl -> get_LocalControl(This,pState)
  15912.  
  15913. #define IAMExtTransport_GetStatus(This,StatusItem,pValue)    \
  15914.     (This)->lpVtbl -> GetStatus(This,StatusItem,pValue)
  15915.  
  15916. #define IAMExtTransport_GetTransportBasicParameters(This,Param,pValue,ppszData)    \
  15917.     (This)->lpVtbl -> GetTransportBasicParameters(This,Param,pValue,ppszData)
  15918.  
  15919. #define IAMExtTransport_SetTransportBasicParameters(This,Param,Value,pszData)    \
  15920.     (This)->lpVtbl -> SetTransportBasicParameters(This,Param,Value,pszData)
  15921.  
  15922. #define IAMExtTransport_GetTransportVideoParameters(This,Param,pValue)    \
  15923.     (This)->lpVtbl -> GetTransportVideoParameters(This,Param,pValue)
  15924.  
  15925. #define IAMExtTransport_SetTransportVideoParameters(This,Param,Value)    \
  15926.     (This)->lpVtbl -> SetTransportVideoParameters(This,Param,Value)
  15927.  
  15928. #define IAMExtTransport_GetTransportAudioParameters(This,Param,pValue)    \
  15929.     (This)->lpVtbl -> GetTransportAudioParameters(This,Param,pValue)
  15930.  
  15931. #define IAMExtTransport_SetTransportAudioParameters(This,Param,Value)    \
  15932.     (This)->lpVtbl -> SetTransportAudioParameters(This,Param,Value)
  15933.  
  15934. #define IAMExtTransport_put_Mode(This,Mode)    \
  15935.     (This)->lpVtbl -> put_Mode(This,Mode)
  15936.  
  15937. #define IAMExtTransport_get_Mode(This,pMode)    \
  15938.     (This)->lpVtbl -> get_Mode(This,pMode)
  15939.  
  15940. #define IAMExtTransport_put_Rate(This,dblRate)    \
  15941.     (This)->lpVtbl -> put_Rate(This,dblRate)
  15942.  
  15943. #define IAMExtTransport_get_Rate(This,pdblRate)    \
  15944.     (This)->lpVtbl -> get_Rate(This,pdblRate)
  15945.  
  15946. #define IAMExtTransport_GetChase(This,pEnabled,pOffset,phEvent)    \
  15947.     (This)->lpVtbl -> GetChase(This,pEnabled,pOffset,phEvent)
  15948.  
  15949. #define IAMExtTransport_SetChase(This,Enable,Offset,hEvent)    \
  15950.     (This)->lpVtbl -> SetChase(This,Enable,Offset,hEvent)
  15951.  
  15952. #define IAMExtTransport_GetBump(This,pSpeed,pDuration)    \
  15953.     (This)->lpVtbl -> GetBump(This,pSpeed,pDuration)
  15954.  
  15955. #define IAMExtTransport_SetBump(This,Speed,Duration)    \
  15956.     (This)->lpVtbl -> SetBump(This,Speed,Duration)
  15957.  
  15958. #define IAMExtTransport_get_AntiClogControl(This,pEnabled)    \
  15959.     (This)->lpVtbl -> get_AntiClogControl(This,pEnabled)
  15960.  
  15961. #define IAMExtTransport_put_AntiClogControl(This,Enable)    \
  15962.     (This)->lpVtbl -> put_AntiClogControl(This,Enable)
  15963.  
  15964. #define IAMExtTransport_GetEditPropertySet(This,EditID,pState)    \
  15965.     (This)->lpVtbl -> GetEditPropertySet(This,EditID,pState)
  15966.  
  15967. #define IAMExtTransport_SetEditPropertySet(This,pEditID,State)    \
  15968.     (This)->lpVtbl -> SetEditPropertySet(This,pEditID,State)
  15969.  
  15970. #define IAMExtTransport_GetEditProperty(This,EditID,Param,pValue)    \
  15971.     (This)->lpVtbl -> GetEditProperty(This,EditID,Param,pValue)
  15972.  
  15973. #define IAMExtTransport_SetEditProperty(This,EditID,Param,Value)    \
  15974.     (This)->lpVtbl -> SetEditProperty(This,EditID,Param,Value)
  15975.  
  15976. #define IAMExtTransport_get_EditStart(This,pValue)    \
  15977.     (This)->lpVtbl -> get_EditStart(This,pValue)
  15978.  
  15979. #define IAMExtTransport_put_EditStart(This,Value)    \
  15980.     (This)->lpVtbl -> put_EditStart(This,Value)
  15981.  
  15982. #endif /* COBJMACROS */
  15983.  
  15984.  
  15985. #endif     /* C style interface */
  15986.  
  15987.  
  15988.  
  15989. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetCapability_Proxy( 
  15990.     IAMExtTransport * This,
  15991.     /* [in] */ long Capability,
  15992.     /* [out] */ long *pValue,
  15993.     /* [out] */ double *pdblValue);
  15994.  
  15995.  
  15996. void __RPC_STUB IAMExtTransport_GetCapability_Stub(
  15997.     IRpcStubBuffer *This,
  15998.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15999.     PRPC_MESSAGE _pRpcMessage,
  16000.     DWORD *_pdwStubPhase);
  16001.  
  16002.  
  16003. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_MediaState_Proxy( 
  16004.     IAMExtTransport * This,
  16005.     /* [in] */ long State);
  16006.  
  16007.  
  16008. void __RPC_STUB IAMExtTransport_put_MediaState_Stub(
  16009.     IRpcStubBuffer *This,
  16010.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16011.     PRPC_MESSAGE _pRpcMessage,
  16012.     DWORD *_pdwStubPhase);
  16013.  
  16014.  
  16015. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_MediaState_Proxy( 
  16016.     IAMExtTransport * This,
  16017.     /* [out] */ long *pState);
  16018.  
  16019.  
  16020. void __RPC_STUB IAMExtTransport_get_MediaState_Stub(
  16021.     IRpcStubBuffer *This,
  16022.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16023.     PRPC_MESSAGE _pRpcMessage,
  16024.     DWORD *_pdwStubPhase);
  16025.  
  16026.  
  16027. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_LocalControl_Proxy( 
  16028.     IAMExtTransport * This,
  16029.     /* [in] */ long State);
  16030.  
  16031.  
  16032. void __RPC_STUB IAMExtTransport_put_LocalControl_Stub(
  16033.     IRpcStubBuffer *This,
  16034.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16035.     PRPC_MESSAGE _pRpcMessage,
  16036.     DWORD *_pdwStubPhase);
  16037.  
  16038.  
  16039. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_LocalControl_Proxy( 
  16040.     IAMExtTransport * This,
  16041.     /* [out] */ long *pState);
  16042.  
  16043.  
  16044. void __RPC_STUB IAMExtTransport_get_LocalControl_Stub(
  16045.     IRpcStubBuffer *This,
  16046.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16047.     PRPC_MESSAGE _pRpcMessage,
  16048.     DWORD *_pdwStubPhase);
  16049.  
  16050.  
  16051. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetStatus_Proxy( 
  16052.     IAMExtTransport * This,
  16053.     /* [in] */ long StatusItem,
  16054.     /* [out] */ long *pValue);
  16055.  
  16056.  
  16057. void __RPC_STUB IAMExtTransport_GetStatus_Stub(
  16058.     IRpcStubBuffer *This,
  16059.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16060.     PRPC_MESSAGE _pRpcMessage,
  16061.     DWORD *_pdwStubPhase);
  16062.  
  16063.  
  16064. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportBasicParameters_Proxy( 
  16065.     IAMExtTransport * This,
  16066.     /* [in] */ long Param,
  16067.     /* [out] */ long *pValue,
  16068.     /* [out] */ LPOLESTR *ppszData);
  16069.  
  16070.  
  16071. void __RPC_STUB IAMExtTransport_GetTransportBasicParameters_Stub(
  16072.     IRpcStubBuffer *This,
  16073.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16074.     PRPC_MESSAGE _pRpcMessage,
  16075.     DWORD *_pdwStubPhase);
  16076.  
  16077.  
  16078. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportBasicParameters_Proxy( 
  16079.     IAMExtTransport * This,
  16080.     /* [in] */ long Param,
  16081.     /* [in] */ long Value,
  16082.     /* [in] */ LPCOLESTR pszData);
  16083.  
  16084.  
  16085. void __RPC_STUB IAMExtTransport_SetTransportBasicParameters_Stub(
  16086.     IRpcStubBuffer *This,
  16087.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16088.     PRPC_MESSAGE _pRpcMessage,
  16089.     DWORD *_pdwStubPhase);
  16090.  
  16091.  
  16092. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportVideoParameters_Proxy( 
  16093.     IAMExtTransport * This,
  16094.     /* [in] */ long Param,
  16095.     /* [out] */ long *pValue);
  16096.  
  16097.  
  16098. void __RPC_STUB IAMExtTransport_GetTransportVideoParameters_Stub(
  16099.     IRpcStubBuffer *This,
  16100.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16101.     PRPC_MESSAGE _pRpcMessage,
  16102.     DWORD *_pdwStubPhase);
  16103.  
  16104.  
  16105. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportVideoParameters_Proxy( 
  16106.     IAMExtTransport * This,
  16107.     /* [in] */ long Param,
  16108.     /* [in] */ long Value);
  16109.  
  16110.  
  16111. void __RPC_STUB IAMExtTransport_SetTransportVideoParameters_Stub(
  16112.     IRpcStubBuffer *This,
  16113.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16114.     PRPC_MESSAGE _pRpcMessage,
  16115.     DWORD *_pdwStubPhase);
  16116.  
  16117.  
  16118. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportAudioParameters_Proxy( 
  16119.     IAMExtTransport * This,
  16120.     /* [in] */ long Param,
  16121.     /* [out] */ long *pValue);
  16122.  
  16123.  
  16124. void __RPC_STUB IAMExtTransport_GetTransportAudioParameters_Stub(
  16125.     IRpcStubBuffer *This,
  16126.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16127.     PRPC_MESSAGE _pRpcMessage,
  16128.     DWORD *_pdwStubPhase);
  16129.  
  16130.  
  16131. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportAudioParameters_Proxy( 
  16132.     IAMExtTransport * This,
  16133.     /* [in] */ long Param,
  16134.     /* [in] */ long Value);
  16135.  
  16136.  
  16137. void __RPC_STUB IAMExtTransport_SetTransportAudioParameters_Stub(
  16138.     IRpcStubBuffer *This,
  16139.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16140.     PRPC_MESSAGE _pRpcMessage,
  16141.     DWORD *_pdwStubPhase);
  16142.  
  16143.  
  16144. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_Mode_Proxy( 
  16145.     IAMExtTransport * This,
  16146.     /* [in] */ long Mode);
  16147.  
  16148.  
  16149. void __RPC_STUB IAMExtTransport_put_Mode_Stub(
  16150.     IRpcStubBuffer *This,
  16151.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16152.     PRPC_MESSAGE _pRpcMessage,
  16153.     DWORD *_pdwStubPhase);
  16154.  
  16155.  
  16156. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_Mode_Proxy( 
  16157.     IAMExtTransport * This,
  16158.     /* [out] */ long *pMode);
  16159.  
  16160.  
  16161. void __RPC_STUB IAMExtTransport_get_Mode_Stub(
  16162.     IRpcStubBuffer *This,
  16163.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16164.     PRPC_MESSAGE _pRpcMessage,
  16165.     DWORD *_pdwStubPhase);
  16166.  
  16167.  
  16168. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_Rate_Proxy( 
  16169.     IAMExtTransport * This,
  16170.     /* [in] */ double dblRate);
  16171.  
  16172.  
  16173. void __RPC_STUB IAMExtTransport_put_Rate_Stub(
  16174.     IRpcStubBuffer *This,
  16175.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16176.     PRPC_MESSAGE _pRpcMessage,
  16177.     DWORD *_pdwStubPhase);
  16178.  
  16179.  
  16180. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_Rate_Proxy( 
  16181.     IAMExtTransport * This,
  16182.     /* [out] */ double *pdblRate);
  16183.  
  16184.  
  16185. void __RPC_STUB IAMExtTransport_get_Rate_Stub(
  16186.     IRpcStubBuffer *This,
  16187.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16188.     PRPC_MESSAGE _pRpcMessage,
  16189.     DWORD *_pdwStubPhase);
  16190.  
  16191.  
  16192. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetChase_Proxy( 
  16193.     IAMExtTransport * This,
  16194.     /* [out] */ long *pEnabled,
  16195.     /* [out] */ long *pOffset,
  16196.     /* [out] */ HEVENT *phEvent);
  16197.  
  16198.  
  16199. void __RPC_STUB IAMExtTransport_GetChase_Stub(
  16200.     IRpcStubBuffer *This,
  16201.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16202.     PRPC_MESSAGE _pRpcMessage,
  16203.     DWORD *_pdwStubPhase);
  16204.  
  16205.  
  16206. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetChase_Proxy( 
  16207.     IAMExtTransport * This,
  16208.     /* [in] */ long Enable,
  16209.     /* [in] */ long Offset,
  16210.     /* [in] */ HEVENT hEvent);
  16211.  
  16212.  
  16213. void __RPC_STUB IAMExtTransport_SetChase_Stub(
  16214.     IRpcStubBuffer *This,
  16215.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16216.     PRPC_MESSAGE _pRpcMessage,
  16217.     DWORD *_pdwStubPhase);
  16218.  
  16219.  
  16220. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetBump_Proxy( 
  16221.     IAMExtTransport * This,
  16222.     /* [out] */ long *pSpeed,
  16223.     /* [out] */ long *pDuration);
  16224.  
  16225.  
  16226. void __RPC_STUB IAMExtTransport_GetBump_Stub(
  16227.     IRpcStubBuffer *This,
  16228.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16229.     PRPC_MESSAGE _pRpcMessage,
  16230.     DWORD *_pdwStubPhase);
  16231.  
  16232.  
  16233. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetBump_Proxy( 
  16234.     IAMExtTransport * This,
  16235.     /* [in] */ long Speed,
  16236.     /* [in] */ long Duration);
  16237.  
  16238.  
  16239. void __RPC_STUB IAMExtTransport_SetBump_Stub(
  16240.     IRpcStubBuffer *This,
  16241.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16242.     PRPC_MESSAGE _pRpcMessage,
  16243.     DWORD *_pdwStubPhase);
  16244.  
  16245.  
  16246. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_AntiClogControl_Proxy( 
  16247.     IAMExtTransport * This,
  16248.     /* [out] */ long *pEnabled);
  16249.  
  16250.  
  16251. void __RPC_STUB IAMExtTransport_get_AntiClogControl_Stub(
  16252.     IRpcStubBuffer *This,
  16253.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16254.     PRPC_MESSAGE _pRpcMessage,
  16255.     DWORD *_pdwStubPhase);
  16256.  
  16257.  
  16258. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_AntiClogControl_Proxy( 
  16259.     IAMExtTransport * This,
  16260.     /* [in] */ long Enable);
  16261.  
  16262.  
  16263. void __RPC_STUB IAMExtTransport_put_AntiClogControl_Stub(
  16264.     IRpcStubBuffer *This,
  16265.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16266.     PRPC_MESSAGE _pRpcMessage,
  16267.     DWORD *_pdwStubPhase);
  16268.  
  16269.  
  16270. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetEditPropertySet_Proxy( 
  16271.     IAMExtTransport * This,
  16272.     /* [in] */ long EditID,
  16273.     /* [out] */ long *pState);
  16274.  
  16275.  
  16276. void __RPC_STUB IAMExtTransport_GetEditPropertySet_Stub(
  16277.     IRpcStubBuffer *This,
  16278.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16279.     PRPC_MESSAGE _pRpcMessage,
  16280.     DWORD *_pdwStubPhase);
  16281.  
  16282.  
  16283. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetEditPropertySet_Proxy( 
  16284.     IAMExtTransport * This,
  16285.     /* [out][in] */ long *pEditID,
  16286.     /* [in] */ long State);
  16287.  
  16288.  
  16289. void __RPC_STUB IAMExtTransport_SetEditPropertySet_Stub(
  16290.     IRpcStubBuffer *This,
  16291.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16292.     PRPC_MESSAGE _pRpcMessage,
  16293.     DWORD *_pdwStubPhase);
  16294.  
  16295.  
  16296. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetEditProperty_Proxy( 
  16297.     IAMExtTransport * This,
  16298.     /* [in] */ long EditID,
  16299.     /* [in] */ long Param,
  16300.     /* [out] */ long *pValue);
  16301.  
  16302.  
  16303. void __RPC_STUB IAMExtTransport_GetEditProperty_Stub(
  16304.     IRpcStubBuffer *This,
  16305.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16306.     PRPC_MESSAGE _pRpcMessage,
  16307.     DWORD *_pdwStubPhase);
  16308.  
  16309.  
  16310. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetEditProperty_Proxy( 
  16311.     IAMExtTransport * This,
  16312.     /* [in] */ long EditID,
  16313.     /* [in] */ long Param,
  16314.     /* [in] */ long Value);
  16315.  
  16316.  
  16317. void __RPC_STUB IAMExtTransport_SetEditProperty_Stub(
  16318.     IRpcStubBuffer *This,
  16319.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16320.     PRPC_MESSAGE _pRpcMessage,
  16321.     DWORD *_pdwStubPhase);
  16322.  
  16323.  
  16324. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_EditStart_Proxy( 
  16325.     IAMExtTransport * This,
  16326.     /* [out] */ long *pValue);
  16327.  
  16328.  
  16329. void __RPC_STUB IAMExtTransport_get_EditStart_Stub(
  16330.     IRpcStubBuffer *This,
  16331.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16332.     PRPC_MESSAGE _pRpcMessage,
  16333.     DWORD *_pdwStubPhase);
  16334.  
  16335.  
  16336. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_EditStart_Proxy( 
  16337.     IAMExtTransport * This,
  16338.     /* [in] */ long Value);
  16339.  
  16340.  
  16341. void __RPC_STUB IAMExtTransport_put_EditStart_Stub(
  16342.     IRpcStubBuffer *This,
  16343.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16344.     PRPC_MESSAGE _pRpcMessage,
  16345.     DWORD *_pdwStubPhase);
  16346.  
  16347.  
  16348.  
  16349. #endif     /* __IAMExtTransport_INTERFACE_DEFINED__ */
  16350.  
  16351.  
  16352. /* interface __MIDL_itf_strmif_0333 */
  16353. /* [local] */ 
  16354.  
  16355. typedef IAMExtTransport *PIAMEXTTRANSPORT;
  16356.  
  16357. #if 0
  16358. /* the following is what MIDL knows how to remote */
  16359. typedef struct tagTIMECODE
  16360.     {
  16361.     WORD wFrameRate;
  16362.     WORD wFrameFract;
  16363.     DWORD dwFrames;
  16364.     }     TIMECODE;
  16365.  
  16366. #else /* 0 */
  16367. #ifndef TIMECODE_DEFINED
  16368. #define TIMECODE_DEFINED
  16369. typedef union _timecode {
  16370.    struct {
  16371.      WORD   wFrameRate;
  16372.      WORD   wFrameFract;
  16373.      DWORD  dwFrames;
  16374.      };
  16375.    DWORDLONG  qw;
  16376.    } TIMECODE;
  16377.  
  16378. #endif /* TIMECODE_DEFINED */
  16379. #endif /* 0 */
  16380. typedef TIMECODE *PTIMECODE;
  16381.  
  16382. typedef struct tagTIMECODE_SAMPLE
  16383.     {
  16384.     LONGLONG qwTick;
  16385.     TIMECODE timecode;
  16386.     DWORD dwUser;
  16387.     DWORD dwFlags;
  16388.     }     TIMECODE_SAMPLE;
  16389.  
  16390. typedef TIMECODE_SAMPLE *PTIMECODE_SAMPLE;
  16391.  
  16392.  
  16393.  
  16394. extern RPC_IF_HANDLE __MIDL_itf_strmif_0333_v0_0_c_ifspec;
  16395. extern RPC_IF_HANDLE __MIDL_itf_strmif_0333_v0_0_s_ifspec;
  16396.  
  16397. #ifndef __IAMTimecodeReader_INTERFACE_DEFINED__
  16398. #define __IAMTimecodeReader_INTERFACE_DEFINED__
  16399.  
  16400. /* interface IAMTimecodeReader */
  16401. /* [unique][uuid][object] */ 
  16402.  
  16403.  
  16404. EXTERN_C const IID IID_IAMTimecodeReader;
  16405.  
  16406. #if defined(__cplusplus) && !defined(CINTERFACE)
  16407.     
  16408.     MIDL_INTERFACE("9B496CE1-811B-11cf-8C77-00AA006B6814")
  16409.     IAMTimecodeReader : public IUnknown
  16410.     {
  16411.     public:
  16412.         virtual HRESULT STDMETHODCALLTYPE GetTCRMode( 
  16413.             /* [in] */ long Param,
  16414.             /* [out] */ long *pValue) = 0;
  16415.         
  16416.         virtual HRESULT STDMETHODCALLTYPE SetTCRMode( 
  16417.             /* [in] */ long Param,
  16418.             /* [in] */ long Value) = 0;
  16419.         
  16420.         virtual HRESULT STDMETHODCALLTYPE put_VITCLine( 
  16421.             /* [in] */ long Line) = 0;
  16422.         
  16423.         virtual HRESULT STDMETHODCALLTYPE get_VITCLine( 
  16424.             /* [out] */ long *pLine) = 0;
  16425.         
  16426.         virtual HRESULT STDMETHODCALLTYPE GetTimecode( 
  16427.             /* [out] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
  16428.         
  16429.     };
  16430.     
  16431. #else     /* C style interface */
  16432.  
  16433.     typedef struct IAMTimecodeReaderVtbl
  16434.     {
  16435.         BEGIN_INTERFACE
  16436.         
  16437.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  16438.             IAMTimecodeReader * This,
  16439.             /* [in] */ REFIID riid,
  16440.             /* [iid_is][out] */ void **ppvObject);
  16441.         
  16442.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  16443.             IAMTimecodeReader * This);
  16444.         
  16445.         ULONG ( STDMETHODCALLTYPE *Release )( 
  16446.             IAMTimecodeReader * This);
  16447.         
  16448.         HRESULT ( STDMETHODCALLTYPE *GetTCRMode )( 
  16449.             IAMTimecodeReader * This,
  16450.             /* [in] */ long Param,
  16451.             /* [out] */ long *pValue);
  16452.         
  16453.         HRESULT ( STDMETHODCALLTYPE *SetTCRMode )( 
  16454.             IAMTimecodeReader * This,
  16455.             /* [in] */ long Param,
  16456.             /* [in] */ long Value);
  16457.         
  16458.         HRESULT ( STDMETHODCALLTYPE *put_VITCLine )( 
  16459.             IAMTimecodeReader * This,
  16460.             /* [in] */ long Line);
  16461.         
  16462.         HRESULT ( STDMETHODCALLTYPE *get_VITCLine )( 
  16463.             IAMTimecodeReader * This,
  16464.             /* [out] */ long *pLine);
  16465.         
  16466.         HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 
  16467.             IAMTimecodeReader * This,
  16468.             /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  16469.         
  16470.         END_INTERFACE
  16471.     } IAMTimecodeReaderVtbl;
  16472.  
  16473.     interface IAMTimecodeReader
  16474.     {
  16475.         CONST_VTBL struct IAMTimecodeReaderVtbl *lpVtbl;
  16476.     };
  16477.  
  16478.     
  16479.  
  16480. #ifdef COBJMACROS
  16481.  
  16482.  
  16483. #define IAMTimecodeReader_QueryInterface(This,riid,ppvObject)    \
  16484.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  16485.  
  16486. #define IAMTimecodeReader_AddRef(This)    \
  16487.     (This)->lpVtbl -> AddRef(This)
  16488.  
  16489. #define IAMTimecodeReader_Release(This)    \
  16490.     (This)->lpVtbl -> Release(This)
  16491.  
  16492.  
  16493. #define IAMTimecodeReader_GetTCRMode(This,Param,pValue)    \
  16494.     (This)->lpVtbl -> GetTCRMode(This,Param,pValue)
  16495.  
  16496. #define IAMTimecodeReader_SetTCRMode(This,Param,Value)    \
  16497.     (This)->lpVtbl -> SetTCRMode(This,Param,Value)
  16498.  
  16499. #define IAMTimecodeReader_put_VITCLine(This,Line)    \
  16500.     (This)->lpVtbl -> put_VITCLine(This,Line)
  16501.  
  16502. #define IAMTimecodeReader_get_VITCLine(This,pLine)    \
  16503.     (This)->lpVtbl -> get_VITCLine(This,pLine)
  16504.  
  16505. #define IAMTimecodeReader_GetTimecode(This,pTimecodeSample)    \
  16506.     (This)->lpVtbl -> GetTimecode(This,pTimecodeSample)
  16507.  
  16508. #endif /* COBJMACROS */
  16509.  
  16510.  
  16511. #endif     /* C style interface */
  16512.  
  16513.  
  16514.  
  16515. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_GetTCRMode_Proxy( 
  16516.     IAMTimecodeReader * This,
  16517.     /* [in] */ long Param,
  16518.     /* [out] */ long *pValue);
  16519.  
  16520.  
  16521. void __RPC_STUB IAMTimecodeReader_GetTCRMode_Stub(
  16522.     IRpcStubBuffer *This,
  16523.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16524.     PRPC_MESSAGE _pRpcMessage,
  16525.     DWORD *_pdwStubPhase);
  16526.  
  16527.  
  16528. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_SetTCRMode_Proxy( 
  16529.     IAMTimecodeReader * This,
  16530.     /* [in] */ long Param,
  16531.     /* [in] */ long Value);
  16532.  
  16533.  
  16534. void __RPC_STUB IAMTimecodeReader_SetTCRMode_Stub(
  16535.     IRpcStubBuffer *This,
  16536.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16537.     PRPC_MESSAGE _pRpcMessage,
  16538.     DWORD *_pdwStubPhase);
  16539.  
  16540.  
  16541. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_put_VITCLine_Proxy( 
  16542.     IAMTimecodeReader * This,
  16543.     /* [in] */ long Line);
  16544.  
  16545.  
  16546. void __RPC_STUB IAMTimecodeReader_put_VITCLine_Stub(
  16547.     IRpcStubBuffer *This,
  16548.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16549.     PRPC_MESSAGE _pRpcMessage,
  16550.     DWORD *_pdwStubPhase);
  16551.  
  16552.  
  16553. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_get_VITCLine_Proxy( 
  16554.     IAMTimecodeReader * This,
  16555.     /* [out] */ long *pLine);
  16556.  
  16557.  
  16558. void __RPC_STUB IAMTimecodeReader_get_VITCLine_Stub(
  16559.     IRpcStubBuffer *This,
  16560.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16561.     PRPC_MESSAGE _pRpcMessage,
  16562.     DWORD *_pdwStubPhase);
  16563.  
  16564.  
  16565. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_GetTimecode_Proxy( 
  16566.     IAMTimecodeReader * This,
  16567.     /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  16568.  
  16569.  
  16570. void __RPC_STUB IAMTimecodeReader_GetTimecode_Stub(
  16571.     IRpcStubBuffer *This,
  16572.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16573.     PRPC_MESSAGE _pRpcMessage,
  16574.     DWORD *_pdwStubPhase);
  16575.  
  16576.  
  16577.  
  16578. #endif     /* __IAMTimecodeReader_INTERFACE_DEFINED__ */
  16579.  
  16580.  
  16581. /* interface __MIDL_itf_strmif_0334 */
  16582. /* [local] */ 
  16583.  
  16584. typedef IAMTimecodeReader *PIAMTIMECODEREADER;
  16585.  
  16586.  
  16587.  
  16588. extern RPC_IF_HANDLE __MIDL_itf_strmif_0334_v0_0_c_ifspec;
  16589. extern RPC_IF_HANDLE __MIDL_itf_strmif_0334_v0_0_s_ifspec;
  16590.  
  16591. #ifndef __IAMTimecodeGenerator_INTERFACE_DEFINED__
  16592. #define __IAMTimecodeGenerator_INTERFACE_DEFINED__
  16593.  
  16594. /* interface IAMTimecodeGenerator */
  16595. /* [unique][uuid][object] */ 
  16596.  
  16597.  
  16598. EXTERN_C const IID IID_IAMTimecodeGenerator;
  16599.  
  16600. #if defined(__cplusplus) && !defined(CINTERFACE)
  16601.     
  16602.     MIDL_INTERFACE("9B496CE0-811B-11cf-8C77-00AA006B6814")
  16603.     IAMTimecodeGenerator : public IUnknown
  16604.     {
  16605.     public:
  16606.         virtual HRESULT STDMETHODCALLTYPE GetTCGMode( 
  16607.             /* [in] */ long Param,
  16608.             /* [out] */ long *pValue) = 0;
  16609.         
  16610.         virtual HRESULT STDMETHODCALLTYPE SetTCGMode( 
  16611.             /* [in] */ long Param,
  16612.             /* [in] */ long Value) = 0;
  16613.         
  16614.         virtual HRESULT STDMETHODCALLTYPE put_VITCLine( 
  16615.             /* [in] */ long Line) = 0;
  16616.         
  16617.         virtual HRESULT STDMETHODCALLTYPE get_VITCLine( 
  16618.             /* [out] */ long *pLine) = 0;
  16619.         
  16620.         virtual HRESULT STDMETHODCALLTYPE SetTimecode( 
  16621.             /* [in] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
  16622.         
  16623.         virtual HRESULT STDMETHODCALLTYPE GetTimecode( 
  16624.             /* [out] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
  16625.         
  16626.     };
  16627.     
  16628. #else     /* C style interface */
  16629.  
  16630.     typedef struct IAMTimecodeGeneratorVtbl
  16631.     {
  16632.         BEGIN_INTERFACE
  16633.         
  16634.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  16635.             IAMTimecodeGenerator * This,
  16636.             /* [in] */ REFIID riid,
  16637.             /* [iid_is][out] */ void **ppvObject);
  16638.         
  16639.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  16640.             IAMTimecodeGenerator * This);
  16641.         
  16642.         ULONG ( STDMETHODCALLTYPE *Release )( 
  16643.             IAMTimecodeGenerator * This);
  16644.         
  16645.         HRESULT ( STDMETHODCALLTYPE *GetTCGMode )( 
  16646.             IAMTimecodeGenerator * This,
  16647.             /* [in] */ long Param,
  16648.             /* [out] */ long *pValue);
  16649.         
  16650.         HRESULT ( STDMETHODCALLTYPE *SetTCGMode )( 
  16651.             IAMTimecodeGenerator * This,
  16652.             /* [in] */ long Param,
  16653.             /* [in] */ long Value);
  16654.         
  16655.         HRESULT ( STDMETHODCALLTYPE *put_VITCLine )( 
  16656.             IAMTimecodeGenerator * This,
  16657.             /* [in] */ long Line);
  16658.         
  16659.         HRESULT ( STDMETHODCALLTYPE *get_VITCLine )( 
  16660.             IAMTimecodeGenerator * This,
  16661.             /* [out] */ long *pLine);
  16662.         
  16663.         HRESULT ( STDMETHODCALLTYPE *SetTimecode )( 
  16664.             IAMTimecodeGenerator * This,
  16665.             /* [in] */ PTIMECODE_SAMPLE pTimecodeSample);
  16666.         
  16667.         HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 
  16668.             IAMTimecodeGenerator * This,
  16669.             /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  16670.         
  16671.         END_INTERFACE
  16672.     } IAMTimecodeGeneratorVtbl;
  16673.  
  16674.     interface IAMTimecodeGenerator
  16675.     {
  16676.         CONST_VTBL struct IAMTimecodeGeneratorVtbl *lpVtbl;
  16677.     };
  16678.  
  16679.     
  16680.  
  16681. #ifdef COBJMACROS
  16682.  
  16683.  
  16684. #define IAMTimecodeGenerator_QueryInterface(This,riid,ppvObject)    \
  16685.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  16686.  
  16687. #define IAMTimecodeGenerator_AddRef(This)    \
  16688.     (This)->lpVtbl -> AddRef(This)
  16689.  
  16690. #define IAMTimecodeGenerator_Release(This)    \
  16691.     (This)->lpVtbl -> Release(This)
  16692.  
  16693.  
  16694. #define IAMTimecodeGenerator_GetTCGMode(This,Param,pValue)    \
  16695.     (This)->lpVtbl -> GetTCGMode(This,Param,pValue)
  16696.  
  16697. #define IAMTimecodeGenerator_SetTCGMode(This,Param,Value)    \
  16698.     (This)->lpVtbl -> SetTCGMode(This,Param,Value)
  16699.  
  16700. #define IAMTimecodeGenerator_put_VITCLine(This,Line)    \
  16701.     (This)->lpVtbl -> put_VITCLine(This,Line)
  16702.  
  16703. #define IAMTimecodeGenerator_get_VITCLine(This,pLine)    \
  16704.     (This)->lpVtbl -> get_VITCLine(This,pLine)
  16705.  
  16706. #define IAMTimecodeGenerator_SetTimecode(This,pTimecodeSample)    \
  16707.     (This)->lpVtbl -> SetTimecode(This,pTimecodeSample)
  16708.  
  16709. #define IAMTimecodeGenerator_GetTimecode(This,pTimecodeSample)    \
  16710.     (This)->lpVtbl -> GetTimecode(This,pTimecodeSample)
  16711.  
  16712. #endif /* COBJMACROS */
  16713.  
  16714.  
  16715. #endif     /* C style interface */
  16716.  
  16717.  
  16718.  
  16719. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_GetTCGMode_Proxy( 
  16720.     IAMTimecodeGenerator * This,
  16721.     /* [in] */ long Param,
  16722.     /* [out] */ long *pValue);
  16723.  
  16724.  
  16725. void __RPC_STUB IAMTimecodeGenerator_GetTCGMode_Stub(
  16726.     IRpcStubBuffer *This,
  16727.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16728.     PRPC_MESSAGE _pRpcMessage,
  16729.     DWORD *_pdwStubPhase);
  16730.  
  16731.  
  16732. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_SetTCGMode_Proxy( 
  16733.     IAMTimecodeGenerator * This,
  16734.     /* [in] */ long Param,
  16735.     /* [in] */ long Value);
  16736.  
  16737.  
  16738. void __RPC_STUB IAMTimecodeGenerator_SetTCGMode_Stub(
  16739.     IRpcStubBuffer *This,
  16740.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16741.     PRPC_MESSAGE _pRpcMessage,
  16742.     DWORD *_pdwStubPhase);
  16743.  
  16744.  
  16745. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_put_VITCLine_Proxy( 
  16746.     IAMTimecodeGenerator * This,
  16747.     /* [in] */ long Line);
  16748.  
  16749.  
  16750. void __RPC_STUB IAMTimecodeGenerator_put_VITCLine_Stub(
  16751.     IRpcStubBuffer *This,
  16752.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16753.     PRPC_MESSAGE _pRpcMessage,
  16754.     DWORD *_pdwStubPhase);
  16755.  
  16756.  
  16757. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_get_VITCLine_Proxy( 
  16758.     IAMTimecodeGenerator * This,
  16759.     /* [out] */ long *pLine);
  16760.  
  16761.  
  16762. void __RPC_STUB IAMTimecodeGenerator_get_VITCLine_Stub(
  16763.     IRpcStubBuffer *This,
  16764.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16765.     PRPC_MESSAGE _pRpcMessage,
  16766.     DWORD *_pdwStubPhase);
  16767.  
  16768.  
  16769. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_SetTimecode_Proxy( 
  16770.     IAMTimecodeGenerator * This,
  16771.     /* [in] */ PTIMECODE_SAMPLE pTimecodeSample);
  16772.  
  16773.  
  16774. void __RPC_STUB IAMTimecodeGenerator_SetTimecode_Stub(
  16775.     IRpcStubBuffer *This,
  16776.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16777.     PRPC_MESSAGE _pRpcMessage,
  16778.     DWORD *_pdwStubPhase);
  16779.  
  16780.  
  16781. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_GetTimecode_Proxy( 
  16782.     IAMTimecodeGenerator * This,
  16783.     /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  16784.  
  16785.  
  16786. void __RPC_STUB IAMTimecodeGenerator_GetTimecode_Stub(
  16787.     IRpcStubBuffer *This,
  16788.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16789.     PRPC_MESSAGE _pRpcMessage,
  16790.     DWORD *_pdwStubPhase);
  16791.  
  16792.  
  16793.  
  16794. #endif     /* __IAMTimecodeGenerator_INTERFACE_DEFINED__ */
  16795.  
  16796.  
  16797. /* interface __MIDL_itf_strmif_0335 */
  16798. /* [local] */ 
  16799.  
  16800. typedef IAMTimecodeGenerator *PIAMTIMECODEGENERATOR;
  16801.  
  16802.  
  16803.  
  16804. extern RPC_IF_HANDLE __MIDL_itf_strmif_0335_v0_0_c_ifspec;
  16805. extern RPC_IF_HANDLE __MIDL_itf_strmif_0335_v0_0_s_ifspec;
  16806.  
  16807. #ifndef __IAMTimecodeDisplay_INTERFACE_DEFINED__
  16808. #define __IAMTimecodeDisplay_INTERFACE_DEFINED__
  16809.  
  16810. /* interface IAMTimecodeDisplay */
  16811. /* [unique][uuid][object] */ 
  16812.  
  16813.  
  16814. EXTERN_C const IID IID_IAMTimecodeDisplay;
  16815.  
  16816. #if defined(__cplusplus) && !defined(CINTERFACE)
  16817.     
  16818.     MIDL_INTERFACE("9B496CE2-811B-11cf-8C77-00AA006B6814")
  16819.     IAMTimecodeDisplay : public IUnknown
  16820.     {
  16821.     public:
  16822.         virtual HRESULT STDMETHODCALLTYPE GetTCDisplayEnable( 
  16823.             /* [out] */ long *pState) = 0;
  16824.         
  16825.         virtual HRESULT STDMETHODCALLTYPE SetTCDisplayEnable( 
  16826.             /* [in] */ long State) = 0;
  16827.         
  16828.         virtual HRESULT STDMETHODCALLTYPE GetTCDisplay( 
  16829.             /* [in] */ long Param,
  16830.             /* [out] */ long *pValue) = 0;
  16831.         
  16832.         virtual HRESULT STDMETHODCALLTYPE SetTCDisplay( 
  16833.             /* [in] */ long Param,
  16834.             /* [in] */ long Value) = 0;
  16835.         
  16836.     };
  16837.     
  16838. #else     /* C style interface */
  16839.  
  16840.     typedef struct IAMTimecodeDisplayVtbl
  16841.     {
  16842.         BEGIN_INTERFACE
  16843.         
  16844.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  16845.             IAMTimecodeDisplay * This,
  16846.             /* [in] */ REFIID riid,
  16847.             /* [iid_is][out] */ void **ppvObject);
  16848.         
  16849.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  16850.             IAMTimecodeDisplay * This);
  16851.         
  16852.         ULONG ( STDMETHODCALLTYPE *Release )( 
  16853.             IAMTimecodeDisplay * This);
  16854.         
  16855.         HRESULT ( STDMETHODCALLTYPE *GetTCDisplayEnable )( 
  16856.             IAMTimecodeDisplay * This,
  16857.             /* [out] */ long *pState);
  16858.         
  16859.         HRESULT ( STDMETHODCALLTYPE *SetTCDisplayEnable )( 
  16860.             IAMTimecodeDisplay * This,
  16861.             /* [in] */ long State);
  16862.         
  16863.         HRESULT ( STDMETHODCALLTYPE *GetTCDisplay )( 
  16864.             IAMTimecodeDisplay * This,
  16865.             /* [in] */ long Param,
  16866.             /* [out] */ long *pValue);
  16867.         
  16868.         HRESULT ( STDMETHODCALLTYPE *SetTCDisplay )( 
  16869.             IAMTimecodeDisplay * This,
  16870.             /* [in] */ long Param,
  16871.             /* [in] */ long Value);
  16872.         
  16873.         END_INTERFACE
  16874.     } IAMTimecodeDisplayVtbl;
  16875.  
  16876.     interface IAMTimecodeDisplay
  16877.     {
  16878.         CONST_VTBL struct IAMTimecodeDisplayVtbl *lpVtbl;
  16879.     };
  16880.  
  16881.     
  16882.  
  16883. #ifdef COBJMACROS
  16884.  
  16885.  
  16886. #define IAMTimecodeDisplay_QueryInterface(This,riid,ppvObject)    \
  16887.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  16888.  
  16889. #define IAMTimecodeDisplay_AddRef(This)    \
  16890.     (This)->lpVtbl -> AddRef(This)
  16891.  
  16892. #define IAMTimecodeDisplay_Release(This)    \
  16893.     (This)->lpVtbl -> Release(This)
  16894.  
  16895.  
  16896. #define IAMTimecodeDisplay_GetTCDisplayEnable(This,pState)    \
  16897.     (This)->lpVtbl -> GetTCDisplayEnable(This,pState)
  16898.  
  16899. #define IAMTimecodeDisplay_SetTCDisplayEnable(This,State)    \
  16900.     (This)->lpVtbl -> SetTCDisplayEnable(This,State)
  16901.  
  16902. #define IAMTimecodeDisplay_GetTCDisplay(This,Param,pValue)    \
  16903.     (This)->lpVtbl -> GetTCDisplay(This,Param,pValue)
  16904.  
  16905. #define IAMTimecodeDisplay_SetTCDisplay(This,Param,Value)    \
  16906.     (This)->lpVtbl -> SetTCDisplay(This,Param,Value)
  16907.  
  16908. #endif /* COBJMACROS */
  16909.  
  16910.  
  16911. #endif     /* C style interface */
  16912.  
  16913.  
  16914.  
  16915. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_GetTCDisplayEnable_Proxy( 
  16916.     IAMTimecodeDisplay * This,
  16917.     /* [out] */ long *pState);
  16918.  
  16919.  
  16920. void __RPC_STUB IAMTimecodeDisplay_GetTCDisplayEnable_Stub(
  16921.     IRpcStubBuffer *This,
  16922.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16923.     PRPC_MESSAGE _pRpcMessage,
  16924.     DWORD *_pdwStubPhase);
  16925.  
  16926.  
  16927. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_SetTCDisplayEnable_Proxy( 
  16928.     IAMTimecodeDisplay * This,
  16929.     /* [in] */ long State);
  16930.  
  16931.  
  16932. void __RPC_STUB IAMTimecodeDisplay_SetTCDisplayEnable_Stub(
  16933.     IRpcStubBuffer *This,
  16934.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16935.     PRPC_MESSAGE _pRpcMessage,
  16936.     DWORD *_pdwStubPhase);
  16937.  
  16938.  
  16939. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_GetTCDisplay_Proxy( 
  16940.     IAMTimecodeDisplay * This,
  16941.     /* [in] */ long Param,
  16942.     /* [out] */ long *pValue);
  16943.  
  16944.  
  16945. void __RPC_STUB IAMTimecodeDisplay_GetTCDisplay_Stub(
  16946.     IRpcStubBuffer *This,
  16947.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16948.     PRPC_MESSAGE _pRpcMessage,
  16949.     DWORD *_pdwStubPhase);
  16950.  
  16951.  
  16952. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_SetTCDisplay_Proxy( 
  16953.     IAMTimecodeDisplay * This,
  16954.     /* [in] */ long Param,
  16955.     /* [in] */ long Value);
  16956.  
  16957.  
  16958. void __RPC_STUB IAMTimecodeDisplay_SetTCDisplay_Stub(
  16959.     IRpcStubBuffer *This,
  16960.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16961.     PRPC_MESSAGE _pRpcMessage,
  16962.     DWORD *_pdwStubPhase);
  16963.  
  16964.  
  16965.  
  16966. #endif     /* __IAMTimecodeDisplay_INTERFACE_DEFINED__ */
  16967.  
  16968.  
  16969. /* interface __MIDL_itf_strmif_0336 */
  16970. /* [local] */ 
  16971.  
  16972. typedef IAMTimecodeDisplay *PIAMTIMECODEDISPLAY;
  16973.  
  16974.  
  16975.  
  16976. extern RPC_IF_HANDLE __MIDL_itf_strmif_0336_v0_0_c_ifspec;
  16977. extern RPC_IF_HANDLE __MIDL_itf_strmif_0336_v0_0_s_ifspec;
  16978.  
  16979. #ifndef __IAMDevMemoryAllocator_INTERFACE_DEFINED__
  16980. #define __IAMDevMemoryAllocator_INTERFACE_DEFINED__
  16981.  
  16982. /* interface IAMDevMemoryAllocator */
  16983. /* [unique][uuid][object] */ 
  16984.  
  16985.  
  16986. EXTERN_C const IID IID_IAMDevMemoryAllocator;
  16987.  
  16988. #if defined(__cplusplus) && !defined(CINTERFACE)
  16989.     
  16990.     MIDL_INTERFACE("c6545bf0-e76b-11d0-bd52-00a0c911ce86")
  16991.     IAMDevMemoryAllocator : public IUnknown
  16992.     {
  16993.     public:
  16994.         virtual HRESULT STDMETHODCALLTYPE GetInfo( 
  16995.             /* [out] */ DWORD *pdwcbTotalFree,
  16996.             /* [out] */ DWORD *pdwcbLargestFree,
  16997.             /* [out] */ DWORD *pdwcbTotalMemory,
  16998.             /* [out] */ DWORD *pdwcbMinimumChunk) = 0;
  16999.         
  17000.         virtual HRESULT STDMETHODCALLTYPE CheckMemory( 
  17001.             /* [in] */ const BYTE *pBuffer) = 0;
  17002.         
  17003.         virtual HRESULT STDMETHODCALLTYPE Alloc( 
  17004.             /* [out] */ BYTE **ppBuffer,
  17005.             /* [out][in] */ DWORD *pdwcbBuffer) = 0;
  17006.         
  17007.         virtual HRESULT STDMETHODCALLTYPE Free( 
  17008.             /* [in] */ BYTE *pBuffer) = 0;
  17009.         
  17010.         virtual HRESULT STDMETHODCALLTYPE GetDevMemoryObject( 
  17011.             /* [out] */ IUnknown **ppUnkInnner,
  17012.             /* [in] */ IUnknown *pUnkOuter) = 0;
  17013.         
  17014.     };
  17015.     
  17016. #else     /* C style interface */
  17017.  
  17018.     typedef struct IAMDevMemoryAllocatorVtbl
  17019.     {
  17020.         BEGIN_INTERFACE
  17021.         
  17022.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17023.             IAMDevMemoryAllocator * This,
  17024.             /* [in] */ REFIID riid,
  17025.             /* [iid_is][out] */ void **ppvObject);
  17026.         
  17027.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17028.             IAMDevMemoryAllocator * This);
  17029.         
  17030.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17031.             IAMDevMemoryAllocator * This);
  17032.         
  17033.         HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  17034.             IAMDevMemoryAllocator * This,
  17035.             /* [out] */ DWORD *pdwcbTotalFree,
  17036.             /* [out] */ DWORD *pdwcbLargestFree,
  17037.             /* [out] */ DWORD *pdwcbTotalMemory,
  17038.             /* [out] */ DWORD *pdwcbMinimumChunk);
  17039.         
  17040.         HRESULT ( STDMETHODCALLTYPE *CheckMemory )( 
  17041.             IAMDevMemoryAllocator * This,
  17042.             /* [in] */ const BYTE *pBuffer);
  17043.         
  17044.         HRESULT ( STDMETHODCALLTYPE *Alloc )( 
  17045.             IAMDevMemoryAllocator * This,
  17046.             /* [out] */ BYTE **ppBuffer,
  17047.             /* [out][in] */ DWORD *pdwcbBuffer);
  17048.         
  17049.         HRESULT ( STDMETHODCALLTYPE *Free )( 
  17050.             IAMDevMemoryAllocator * This,
  17051.             /* [in] */ BYTE *pBuffer);
  17052.         
  17053.         HRESULT ( STDMETHODCALLTYPE *GetDevMemoryObject )( 
  17054.             IAMDevMemoryAllocator * This,
  17055.             /* [out] */ IUnknown **ppUnkInnner,
  17056.             /* [in] */ IUnknown *pUnkOuter);
  17057.         
  17058.         END_INTERFACE
  17059.     } IAMDevMemoryAllocatorVtbl;
  17060.  
  17061.     interface IAMDevMemoryAllocator
  17062.     {
  17063.         CONST_VTBL struct IAMDevMemoryAllocatorVtbl *lpVtbl;
  17064.     };
  17065.  
  17066.     
  17067.  
  17068. #ifdef COBJMACROS
  17069.  
  17070.  
  17071. #define IAMDevMemoryAllocator_QueryInterface(This,riid,ppvObject)    \
  17072.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17073.  
  17074. #define IAMDevMemoryAllocator_AddRef(This)    \
  17075.     (This)->lpVtbl -> AddRef(This)
  17076.  
  17077. #define IAMDevMemoryAllocator_Release(This)    \
  17078.     (This)->lpVtbl -> Release(This)
  17079.  
  17080.  
  17081. #define IAMDevMemoryAllocator_GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk)    \
  17082.     (This)->lpVtbl -> GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk)
  17083.  
  17084. #define IAMDevMemoryAllocator_CheckMemory(This,pBuffer)    \
  17085.     (This)->lpVtbl -> CheckMemory(This,pBuffer)
  17086.  
  17087. #define IAMDevMemoryAllocator_Alloc(This,ppBuffer,pdwcbBuffer)    \
  17088.     (This)->lpVtbl -> Alloc(This,ppBuffer,pdwcbBuffer)
  17089.  
  17090. #define IAMDevMemoryAllocator_Free(This,pBuffer)    \
  17091.     (This)->lpVtbl -> Free(This,pBuffer)
  17092.  
  17093. #define IAMDevMemoryAllocator_GetDevMemoryObject(This,ppUnkInnner,pUnkOuter)    \
  17094.     (This)->lpVtbl -> GetDevMemoryObject(This,ppUnkInnner,pUnkOuter)
  17095.  
  17096. #endif /* COBJMACROS */
  17097.  
  17098.  
  17099. #endif     /* C style interface */
  17100.  
  17101.  
  17102.  
  17103. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_GetInfo_Proxy( 
  17104.     IAMDevMemoryAllocator * This,
  17105.     /* [out] */ DWORD *pdwcbTotalFree,
  17106.     /* [out] */ DWORD *pdwcbLargestFree,
  17107.     /* [out] */ DWORD *pdwcbTotalMemory,
  17108.     /* [out] */ DWORD *pdwcbMinimumChunk);
  17109.  
  17110.  
  17111. void __RPC_STUB IAMDevMemoryAllocator_GetInfo_Stub(
  17112.     IRpcStubBuffer *This,
  17113.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17114.     PRPC_MESSAGE _pRpcMessage,
  17115.     DWORD *_pdwStubPhase);
  17116.  
  17117.  
  17118. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_CheckMemory_Proxy( 
  17119.     IAMDevMemoryAllocator * This,
  17120.     /* [in] */ const BYTE *pBuffer);
  17121.  
  17122.  
  17123. void __RPC_STUB IAMDevMemoryAllocator_CheckMemory_Stub(
  17124.     IRpcStubBuffer *This,
  17125.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17126.     PRPC_MESSAGE _pRpcMessage,
  17127.     DWORD *_pdwStubPhase);
  17128.  
  17129.  
  17130. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_Alloc_Proxy( 
  17131.     IAMDevMemoryAllocator * This,
  17132.     /* [out] */ BYTE **ppBuffer,
  17133.     /* [out][in] */ DWORD *pdwcbBuffer);
  17134.  
  17135.  
  17136. void __RPC_STUB IAMDevMemoryAllocator_Alloc_Stub(
  17137.     IRpcStubBuffer *This,
  17138.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17139.     PRPC_MESSAGE _pRpcMessage,
  17140.     DWORD *_pdwStubPhase);
  17141.  
  17142.  
  17143. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_Free_Proxy( 
  17144.     IAMDevMemoryAllocator * This,
  17145.     /* [in] */ BYTE *pBuffer);
  17146.  
  17147.  
  17148. void __RPC_STUB IAMDevMemoryAllocator_Free_Stub(
  17149.     IRpcStubBuffer *This,
  17150.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17151.     PRPC_MESSAGE _pRpcMessage,
  17152.     DWORD *_pdwStubPhase);
  17153.  
  17154.  
  17155. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_GetDevMemoryObject_Proxy( 
  17156.     IAMDevMemoryAllocator * This,
  17157.     /* [out] */ IUnknown **ppUnkInnner,
  17158.     /* [in] */ IUnknown *pUnkOuter);
  17159.  
  17160.  
  17161. void __RPC_STUB IAMDevMemoryAllocator_GetDevMemoryObject_Stub(
  17162.     IRpcStubBuffer *This,
  17163.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17164.     PRPC_MESSAGE _pRpcMessage,
  17165.     DWORD *_pdwStubPhase);
  17166.  
  17167.  
  17168.  
  17169. #endif     /* __IAMDevMemoryAllocator_INTERFACE_DEFINED__ */
  17170.  
  17171.  
  17172. /* interface __MIDL_itf_strmif_0337 */
  17173. /* [local] */ 
  17174.  
  17175. typedef IAMDevMemoryAllocator *PAMDEVMEMORYALLOCATOR;
  17176.  
  17177.  
  17178.  
  17179. extern RPC_IF_HANDLE __MIDL_itf_strmif_0337_v0_0_c_ifspec;
  17180. extern RPC_IF_HANDLE __MIDL_itf_strmif_0337_v0_0_s_ifspec;
  17181.  
  17182. #ifndef __IAMDevMemoryControl_INTERFACE_DEFINED__
  17183. #define __IAMDevMemoryControl_INTERFACE_DEFINED__
  17184.  
  17185. /* interface IAMDevMemoryControl */
  17186. /* [unique][uuid][object] */ 
  17187.  
  17188.  
  17189. EXTERN_C const IID IID_IAMDevMemoryControl;
  17190.  
  17191. #if defined(__cplusplus) && !defined(CINTERFACE)
  17192.     
  17193.     MIDL_INTERFACE("c6545bf1-e76b-11d0-bd52-00a0c911ce86")
  17194.     IAMDevMemoryControl : public IUnknown
  17195.     {
  17196.     public:
  17197.         virtual HRESULT STDMETHODCALLTYPE QueryWriteSync( void) = 0;
  17198.         
  17199.         virtual HRESULT STDMETHODCALLTYPE WriteSync( void) = 0;
  17200.         
  17201.         virtual HRESULT STDMETHODCALLTYPE GetDevId( 
  17202.             /* [out] */ DWORD *pdwDevId) = 0;
  17203.         
  17204.     };
  17205.     
  17206. #else     /* C style interface */
  17207.  
  17208.     typedef struct IAMDevMemoryControlVtbl
  17209.     {
  17210.         BEGIN_INTERFACE
  17211.         
  17212.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17213.             IAMDevMemoryControl * This,
  17214.             /* [in] */ REFIID riid,
  17215.             /* [iid_is][out] */ void **ppvObject);
  17216.         
  17217.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17218.             IAMDevMemoryControl * This);
  17219.         
  17220.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17221.             IAMDevMemoryControl * This);
  17222.         
  17223.         HRESULT ( STDMETHODCALLTYPE *QueryWriteSync )( 
  17224.             IAMDevMemoryControl * This);
  17225.         
  17226.         HRESULT ( STDMETHODCALLTYPE *WriteSync )( 
  17227.             IAMDevMemoryControl * This);
  17228.         
  17229.         HRESULT ( STDMETHODCALLTYPE *GetDevId )( 
  17230.             IAMDevMemoryControl * This,
  17231.             /* [out] */ DWORD *pdwDevId);
  17232.         
  17233.         END_INTERFACE
  17234.     } IAMDevMemoryControlVtbl;
  17235.  
  17236.     interface IAMDevMemoryControl
  17237.     {
  17238.         CONST_VTBL struct IAMDevMemoryControlVtbl *lpVtbl;
  17239.     };
  17240.  
  17241.     
  17242.  
  17243. #ifdef COBJMACROS
  17244.  
  17245.  
  17246. #define IAMDevMemoryControl_QueryInterface(This,riid,ppvObject)    \
  17247.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17248.  
  17249. #define IAMDevMemoryControl_AddRef(This)    \
  17250.     (This)->lpVtbl -> AddRef(This)
  17251.  
  17252. #define IAMDevMemoryControl_Release(This)    \
  17253.     (This)->lpVtbl -> Release(This)
  17254.  
  17255.  
  17256. #define IAMDevMemoryControl_QueryWriteSync(This)    \
  17257.     (This)->lpVtbl -> QueryWriteSync(This)
  17258.  
  17259. #define IAMDevMemoryControl_WriteSync(This)    \
  17260.     (This)->lpVtbl -> WriteSync(This)
  17261.  
  17262. #define IAMDevMemoryControl_GetDevId(This,pdwDevId)    \
  17263.     (This)->lpVtbl -> GetDevId(This,pdwDevId)
  17264.  
  17265. #endif /* COBJMACROS */
  17266.  
  17267.  
  17268. #endif     /* C style interface */
  17269.  
  17270.  
  17271.  
  17272. HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_QueryWriteSync_Proxy( 
  17273.     IAMDevMemoryControl * This);
  17274.  
  17275.  
  17276. void __RPC_STUB IAMDevMemoryControl_QueryWriteSync_Stub(
  17277.     IRpcStubBuffer *This,
  17278.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17279.     PRPC_MESSAGE _pRpcMessage,
  17280.     DWORD *_pdwStubPhase);
  17281.  
  17282.  
  17283. HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_WriteSync_Proxy( 
  17284.     IAMDevMemoryControl * This);
  17285.  
  17286.  
  17287. void __RPC_STUB IAMDevMemoryControl_WriteSync_Stub(
  17288.     IRpcStubBuffer *This,
  17289.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17290.     PRPC_MESSAGE _pRpcMessage,
  17291.     DWORD *_pdwStubPhase);
  17292.  
  17293.  
  17294. HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_GetDevId_Proxy( 
  17295.     IAMDevMemoryControl * This,
  17296.     /* [out] */ DWORD *pdwDevId);
  17297.  
  17298.  
  17299. void __RPC_STUB IAMDevMemoryControl_GetDevId_Stub(
  17300.     IRpcStubBuffer *This,
  17301.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17302.     PRPC_MESSAGE _pRpcMessage,
  17303.     DWORD *_pdwStubPhase);
  17304.  
  17305.  
  17306.  
  17307. #endif     /* __IAMDevMemoryControl_INTERFACE_DEFINED__ */
  17308.  
  17309.  
  17310. /* interface __MIDL_itf_strmif_0338 */
  17311. /* [local] */ 
  17312.  
  17313. typedef IAMDevMemoryControl *PAMDEVMEMORYCONTROL;
  17314.  
  17315.  
  17316. enum _AMSTREAMSELECTINFOFLAGS
  17317.     {    AMSTREAMSELECTINFO_ENABLED    = 0x1,
  17318.     AMSTREAMSELECTINFO_EXCLUSIVE    = 0x2
  17319.     } ;
  17320.  
  17321. enum _AMSTREAMSELECTENABLEFLAGS
  17322.     {    AMSTREAMSELECTENABLE_ENABLE    = 0x1,
  17323.     AMSTREAMSELECTENABLE_ENABLEALL    = 0x2
  17324.     } ;
  17325.  
  17326.  
  17327. extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_c_ifspec;
  17328. extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_s_ifspec;
  17329.  
  17330. #ifndef __IAMStreamSelect_INTERFACE_DEFINED__
  17331. #define __IAMStreamSelect_INTERFACE_DEFINED__
  17332.  
  17333. /* interface IAMStreamSelect */
  17334. /* [unique][uuid][object] */ 
  17335.  
  17336.  
  17337. EXTERN_C const IID IID_IAMStreamSelect;
  17338.  
  17339. #if defined(__cplusplus) && !defined(CINTERFACE)
  17340.     
  17341.     MIDL_INTERFACE("c1960960-17f5-11d1-abe1-00a0c905f375")
  17342.     IAMStreamSelect : public IUnknown
  17343.     {
  17344.     public:
  17345.         virtual HRESULT STDMETHODCALLTYPE Count( 
  17346.             /* [out] */ DWORD *pcStreams) = 0;
  17347.         
  17348.         virtual HRESULT STDMETHODCALLTYPE Info( 
  17349.             /* [in] */ long lIndex,
  17350.             /* [out] */ AM_MEDIA_TYPE **ppmt,
  17351.             /* [out] */ DWORD *pdwFlags,
  17352.             /* [out] */ LCID *plcid,
  17353.             /* [out] */ DWORD *pdwGroup,
  17354.             /* [out] */ WCHAR **ppszName,
  17355.             /* [out] */ IUnknown **ppObject,
  17356.             /* [out] */ IUnknown **ppUnk) = 0;
  17357.         
  17358.         virtual HRESULT STDMETHODCALLTYPE Enable( 
  17359.             /* [in] */ long lIndex,
  17360.             /* [in] */ DWORD dwFlags) = 0;
  17361.         
  17362.     };
  17363.     
  17364. #else     /* C style interface */
  17365.  
  17366.     typedef struct IAMStreamSelectVtbl
  17367.     {
  17368.         BEGIN_INTERFACE
  17369.         
  17370.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17371.             IAMStreamSelect * This,
  17372.             /* [in] */ REFIID riid,
  17373.             /* [iid_is][out] */ void **ppvObject);
  17374.         
  17375.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17376.             IAMStreamSelect * This);
  17377.         
  17378.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17379.             IAMStreamSelect * This);
  17380.         
  17381.         HRESULT ( STDMETHODCALLTYPE *Count )( 
  17382.             IAMStreamSelect * This,
  17383.             /* [out] */ DWORD *pcStreams);
  17384.         
  17385.         HRESULT ( STDMETHODCALLTYPE *Info )( 
  17386.             IAMStreamSelect * This,
  17387.             /* [in] */ long lIndex,
  17388.             /* [out] */ AM_MEDIA_TYPE **ppmt,
  17389.             /* [out] */ DWORD *pdwFlags,
  17390.             /* [out] */ LCID *plcid,
  17391.             /* [out] */ DWORD *pdwGroup,
  17392.             /* [out] */ WCHAR **ppszName,
  17393.             /* [out] */ IUnknown **ppObject,
  17394.             /* [out] */ IUnknown **ppUnk);
  17395.         
  17396.         HRESULT ( STDMETHODCALLTYPE *Enable )( 
  17397.             IAMStreamSelect * This,
  17398.             /* [in] */ long lIndex,
  17399.             /* [in] */ DWORD dwFlags);
  17400.         
  17401.         END_INTERFACE
  17402.     } IAMStreamSelectVtbl;
  17403.  
  17404.     interface IAMStreamSelect
  17405.     {
  17406.         CONST_VTBL struct IAMStreamSelectVtbl *lpVtbl;
  17407.     };
  17408.  
  17409.     
  17410.  
  17411. #ifdef COBJMACROS
  17412.  
  17413.  
  17414. #define IAMStreamSelect_QueryInterface(This,riid,ppvObject)    \
  17415.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17416.  
  17417. #define IAMStreamSelect_AddRef(This)    \
  17418.     (This)->lpVtbl -> AddRef(This)
  17419.  
  17420. #define IAMStreamSelect_Release(This)    \
  17421.     (This)->lpVtbl -> Release(This)
  17422.  
  17423.  
  17424. #define IAMStreamSelect_Count(This,pcStreams)    \
  17425.     (This)->lpVtbl -> Count(This,pcStreams)
  17426.  
  17427. #define IAMStreamSelect_Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk)    \
  17428.     (This)->lpVtbl -> Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk)
  17429.  
  17430. #define IAMStreamSelect_Enable(This,lIndex,dwFlags)    \
  17431.     (This)->lpVtbl -> Enable(This,lIndex,dwFlags)
  17432.  
  17433. #endif /* COBJMACROS */
  17434.  
  17435.  
  17436. #endif     /* C style interface */
  17437.  
  17438.  
  17439.  
  17440. HRESULT STDMETHODCALLTYPE IAMStreamSelect_Count_Proxy( 
  17441.     IAMStreamSelect * This,
  17442.     /* [out] */ DWORD *pcStreams);
  17443.  
  17444.  
  17445. void __RPC_STUB IAMStreamSelect_Count_Stub(
  17446.     IRpcStubBuffer *This,
  17447.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17448.     PRPC_MESSAGE _pRpcMessage,
  17449.     DWORD *_pdwStubPhase);
  17450.  
  17451.  
  17452. HRESULT STDMETHODCALLTYPE IAMStreamSelect_Info_Proxy( 
  17453.     IAMStreamSelect * This,
  17454.     /* [in] */ long lIndex,
  17455.     /* [out] */ AM_MEDIA_TYPE **ppmt,
  17456.     /* [out] */ DWORD *pdwFlags,
  17457.     /* [out] */ LCID *plcid,
  17458.     /* [out] */ DWORD *pdwGroup,
  17459.     /* [out] */ WCHAR **ppszName,
  17460.     /* [out] */ IUnknown **ppObject,
  17461.     /* [out] */ IUnknown **ppUnk);
  17462.  
  17463.  
  17464. void __RPC_STUB IAMStreamSelect_Info_Stub(
  17465.     IRpcStubBuffer *This,
  17466.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17467.     PRPC_MESSAGE _pRpcMessage,
  17468.     DWORD *_pdwStubPhase);
  17469.  
  17470.  
  17471. HRESULT STDMETHODCALLTYPE IAMStreamSelect_Enable_Proxy( 
  17472.     IAMStreamSelect * This,
  17473.     /* [in] */ long lIndex,
  17474.     /* [in] */ DWORD dwFlags);
  17475.  
  17476.  
  17477. void __RPC_STUB IAMStreamSelect_Enable_Stub(
  17478.     IRpcStubBuffer *This,
  17479.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17480.     PRPC_MESSAGE _pRpcMessage,
  17481.     DWORD *_pdwStubPhase);
  17482.  
  17483.  
  17484.  
  17485. #endif     /* __IAMStreamSelect_INTERFACE_DEFINED__ */
  17486.  
  17487.  
  17488. /* interface __MIDL_itf_strmif_0339 */
  17489. /* [local] */ 
  17490.  
  17491. typedef IAMStreamSelect *PAMSTREAMSELECT;
  17492.  
  17493.  
  17494. enum _AMRESCTL_RESERVEFLAGS
  17495.     {    AMRESCTL_RESERVEFLAGS_RESERVE    = 0,
  17496.     AMRESCTL_RESERVEFLAGS_UNRESERVE    = 0x1
  17497.     } ;
  17498.  
  17499.  
  17500. extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_c_ifspec;
  17501. extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_s_ifspec;
  17502.  
  17503. #ifndef __IAMResourceControl_INTERFACE_DEFINED__
  17504. #define __IAMResourceControl_INTERFACE_DEFINED__
  17505.  
  17506. /* interface IAMResourceControl */
  17507. /* [local][unique][uuid][object] */ 
  17508.  
  17509.  
  17510. EXTERN_C const IID IID_IAMResourceControl;
  17511.  
  17512. #if defined(__cplusplus) && !defined(CINTERFACE)
  17513.     
  17514.     MIDL_INTERFACE("8389d2d0-77d7-11d1-abe6-00a0c905f375")
  17515.     IAMResourceControl : public IUnknown
  17516.     {
  17517.     public:
  17518.         virtual HRESULT STDMETHODCALLTYPE Reserve( 
  17519.             /* [in] */ DWORD dwFlags,
  17520.             /* [in] */ PVOID pvReserved) = 0;
  17521.         
  17522.     };
  17523.     
  17524. #else     /* C style interface */
  17525.  
  17526.     typedef struct IAMResourceControlVtbl
  17527.     {
  17528.         BEGIN_INTERFACE
  17529.         
  17530.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17531.             IAMResourceControl * This,
  17532.             /* [in] */ REFIID riid,
  17533.             /* [iid_is][out] */ void **ppvObject);
  17534.         
  17535.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17536.             IAMResourceControl * This);
  17537.         
  17538.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17539.             IAMResourceControl * This);
  17540.         
  17541.         HRESULT ( STDMETHODCALLTYPE *Reserve )( 
  17542.             IAMResourceControl * This,
  17543.             /* [in] */ DWORD dwFlags,
  17544.             /* [in] */ PVOID pvReserved);
  17545.         
  17546.         END_INTERFACE
  17547.     } IAMResourceControlVtbl;
  17548.  
  17549.     interface IAMResourceControl
  17550.     {
  17551.         CONST_VTBL struct IAMResourceControlVtbl *lpVtbl;
  17552.     };
  17553.  
  17554.     
  17555.  
  17556. #ifdef COBJMACROS
  17557.  
  17558.  
  17559. #define IAMResourceControl_QueryInterface(This,riid,ppvObject)    \
  17560.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17561.  
  17562. #define IAMResourceControl_AddRef(This)    \
  17563.     (This)->lpVtbl -> AddRef(This)
  17564.  
  17565. #define IAMResourceControl_Release(This)    \
  17566.     (This)->lpVtbl -> Release(This)
  17567.  
  17568.  
  17569. #define IAMResourceControl_Reserve(This,dwFlags,pvReserved)    \
  17570.     (This)->lpVtbl -> Reserve(This,dwFlags,pvReserved)
  17571.  
  17572. #endif /* COBJMACROS */
  17573.  
  17574.  
  17575. #endif     /* C style interface */
  17576.  
  17577.  
  17578.  
  17579. HRESULT STDMETHODCALLTYPE IAMResourceControl_Reserve_Proxy( 
  17580.     IAMResourceControl * This,
  17581.     /* [in] */ DWORD dwFlags,
  17582.     /* [in] */ PVOID pvReserved);
  17583.  
  17584.  
  17585. void __RPC_STUB IAMResourceControl_Reserve_Stub(
  17586.     IRpcStubBuffer *This,
  17587.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17588.     PRPC_MESSAGE _pRpcMessage,
  17589.     DWORD *_pdwStubPhase);
  17590.  
  17591.  
  17592.  
  17593. #endif     /* __IAMResourceControl_INTERFACE_DEFINED__ */
  17594.  
  17595.  
  17596. #ifndef __IAMClockAdjust_INTERFACE_DEFINED__
  17597. #define __IAMClockAdjust_INTERFACE_DEFINED__
  17598.  
  17599. /* interface IAMClockAdjust */
  17600. /* [local][unique][uuid][object] */ 
  17601.  
  17602.  
  17603. EXTERN_C const IID IID_IAMClockAdjust;
  17604.  
  17605. #if defined(__cplusplus) && !defined(CINTERFACE)
  17606.     
  17607.     MIDL_INTERFACE("4d5466b0-a49c-11d1-abe8-00a0c905f375")
  17608.     IAMClockAdjust : public IUnknown
  17609.     {
  17610.     public:
  17611.         virtual HRESULT STDMETHODCALLTYPE SetClockDelta( 
  17612.             /* [in] */ REFERENCE_TIME rtDelta) = 0;
  17613.         
  17614.     };
  17615.     
  17616. #else     /* C style interface */
  17617.  
  17618.     typedef struct IAMClockAdjustVtbl
  17619.     {
  17620.         BEGIN_INTERFACE
  17621.         
  17622.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17623.             IAMClockAdjust * This,
  17624.             /* [in] */ REFIID riid,
  17625.             /* [iid_is][out] */ void **ppvObject);
  17626.         
  17627.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17628.             IAMClockAdjust * This);
  17629.         
  17630.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17631.             IAMClockAdjust * This);
  17632.         
  17633.         HRESULT ( STDMETHODCALLTYPE *SetClockDelta )( 
  17634.             IAMClockAdjust * This,
  17635.             /* [in] */ REFERENCE_TIME rtDelta);
  17636.         
  17637.         END_INTERFACE
  17638.     } IAMClockAdjustVtbl;
  17639.  
  17640.     interface IAMClockAdjust
  17641.     {
  17642.         CONST_VTBL struct IAMClockAdjustVtbl *lpVtbl;
  17643.     };
  17644.  
  17645.     
  17646.  
  17647. #ifdef COBJMACROS
  17648.  
  17649.  
  17650. #define IAMClockAdjust_QueryInterface(This,riid,ppvObject)    \
  17651.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17652.  
  17653. #define IAMClockAdjust_AddRef(This)    \
  17654.     (This)->lpVtbl -> AddRef(This)
  17655.  
  17656. #define IAMClockAdjust_Release(This)    \
  17657.     (This)->lpVtbl -> Release(This)
  17658.  
  17659.  
  17660. #define IAMClockAdjust_SetClockDelta(This,rtDelta)    \
  17661.     (This)->lpVtbl -> SetClockDelta(This,rtDelta)
  17662.  
  17663. #endif /* COBJMACROS */
  17664.  
  17665.  
  17666. #endif     /* C style interface */
  17667.  
  17668.  
  17669.  
  17670. HRESULT STDMETHODCALLTYPE IAMClockAdjust_SetClockDelta_Proxy( 
  17671.     IAMClockAdjust * This,
  17672.     /* [in] */ REFERENCE_TIME rtDelta);
  17673.  
  17674.  
  17675. void __RPC_STUB IAMClockAdjust_SetClockDelta_Stub(
  17676.     IRpcStubBuffer *This,
  17677.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17678.     PRPC_MESSAGE _pRpcMessage,
  17679.     DWORD *_pdwStubPhase);
  17680.  
  17681.  
  17682.  
  17683. #endif     /* __IAMClockAdjust_INTERFACE_DEFINED__ */
  17684.  
  17685.  
  17686. /* interface __MIDL_itf_strmif_0341 */
  17687. /* [local] */ 
  17688.  
  17689.  
  17690. enum _AM_FILTER_MISC_FLAGS
  17691.     {    AM_FILTER_MISC_FLAGS_IS_RENDERER    = 0x1,
  17692.     AM_FILTER_MISC_FLAGS_IS_SOURCE    = 0x2
  17693.     } ;
  17694.  
  17695.  
  17696. extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_c_ifspec;
  17697. extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_s_ifspec;
  17698.  
  17699. #ifndef __IAMFilterMiscFlags_INTERFACE_DEFINED__
  17700. #define __IAMFilterMiscFlags_INTERFACE_DEFINED__
  17701.  
  17702. /* interface IAMFilterMiscFlags */
  17703. /* [local][unique][uuid][object] */ 
  17704.  
  17705.  
  17706. EXTERN_C const IID IID_IAMFilterMiscFlags;
  17707.  
  17708. #if defined(__cplusplus) && !defined(CINTERFACE)
  17709.     
  17710.     MIDL_INTERFACE("2dd74950-a890-11d1-abe8-00a0c905f375")
  17711.     IAMFilterMiscFlags : public IUnknown
  17712.     {
  17713.     public:
  17714.         virtual ULONG STDMETHODCALLTYPE GetMiscFlags( void) = 0;
  17715.         
  17716.     };
  17717.     
  17718. #else     /* C style interface */
  17719.  
  17720.     typedef struct IAMFilterMiscFlagsVtbl
  17721.     {
  17722.         BEGIN_INTERFACE
  17723.         
  17724.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17725.             IAMFilterMiscFlags * This,
  17726.             /* [in] */ REFIID riid,
  17727.             /* [iid_is][out] */ void **ppvObject);
  17728.         
  17729.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17730.             IAMFilterMiscFlags * This);
  17731.         
  17732.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17733.             IAMFilterMiscFlags * This);
  17734.         
  17735.         ULONG ( STDMETHODCALLTYPE *GetMiscFlags )( 
  17736.             IAMFilterMiscFlags * This);
  17737.         
  17738.         END_INTERFACE
  17739.     } IAMFilterMiscFlagsVtbl;
  17740.  
  17741.     interface IAMFilterMiscFlags
  17742.     {
  17743.         CONST_VTBL struct IAMFilterMiscFlagsVtbl *lpVtbl;
  17744.     };
  17745.  
  17746.     
  17747.  
  17748. #ifdef COBJMACROS
  17749.  
  17750.  
  17751. #define IAMFilterMiscFlags_QueryInterface(This,riid,ppvObject)    \
  17752.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17753.  
  17754. #define IAMFilterMiscFlags_AddRef(This)    \
  17755.     (This)->lpVtbl -> AddRef(This)
  17756.  
  17757. #define IAMFilterMiscFlags_Release(This)    \
  17758.     (This)->lpVtbl -> Release(This)
  17759.  
  17760.  
  17761. #define IAMFilterMiscFlags_GetMiscFlags(This)    \
  17762.     (This)->lpVtbl -> GetMiscFlags(This)
  17763.  
  17764. #endif /* COBJMACROS */
  17765.  
  17766.  
  17767. #endif     /* C style interface */
  17768.  
  17769.  
  17770.  
  17771. ULONG STDMETHODCALLTYPE IAMFilterMiscFlags_GetMiscFlags_Proxy( 
  17772.     IAMFilterMiscFlags * This);
  17773.  
  17774.  
  17775. void __RPC_STUB IAMFilterMiscFlags_GetMiscFlags_Stub(
  17776.     IRpcStubBuffer *This,
  17777.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17778.     PRPC_MESSAGE _pRpcMessage,
  17779.     DWORD *_pdwStubPhase);
  17780.  
  17781.  
  17782.  
  17783. #endif     /* __IAMFilterMiscFlags_INTERFACE_DEFINED__ */
  17784.  
  17785.  
  17786. #ifndef __IDrawVideoImage_INTERFACE_DEFINED__
  17787. #define __IDrawVideoImage_INTERFACE_DEFINED__
  17788.  
  17789. /* interface IDrawVideoImage */
  17790. /* [unique][uuid][local][object] */ 
  17791.  
  17792.  
  17793. EXTERN_C const IID IID_IDrawVideoImage;
  17794.  
  17795. #if defined(__cplusplus) && !defined(CINTERFACE)
  17796.     
  17797.     MIDL_INTERFACE("48efb120-ab49-11d2-aed2-00a0c995e8d5")
  17798.     IDrawVideoImage : public IUnknown
  17799.     {
  17800.     public:
  17801.         virtual HRESULT STDMETHODCALLTYPE DrawVideoImageBegin( void) = 0;
  17802.         
  17803.         virtual HRESULT STDMETHODCALLTYPE DrawVideoImageEnd( void) = 0;
  17804.         
  17805.         virtual HRESULT STDMETHODCALLTYPE DrawVideoImageDraw( 
  17806.             /* [in] */ HDC hdc,
  17807.             /* [in] */ LPRECT lprcSrc,
  17808.             /* [in] */ LPRECT lprcDst) = 0;
  17809.         
  17810.     };
  17811.     
  17812. #else     /* C style interface */
  17813.  
  17814.     typedef struct IDrawVideoImageVtbl
  17815.     {
  17816.         BEGIN_INTERFACE
  17817.         
  17818.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17819.             IDrawVideoImage * This,
  17820.             /* [in] */ REFIID riid,
  17821.             /* [iid_is][out] */ void **ppvObject);
  17822.         
  17823.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17824.             IDrawVideoImage * This);
  17825.         
  17826.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17827.             IDrawVideoImage * This);
  17828.         
  17829.         HRESULT ( STDMETHODCALLTYPE *DrawVideoImageBegin )( 
  17830.             IDrawVideoImage * This);
  17831.         
  17832.         HRESULT ( STDMETHODCALLTYPE *DrawVideoImageEnd )( 
  17833.             IDrawVideoImage * This);
  17834.         
  17835.         HRESULT ( STDMETHODCALLTYPE *DrawVideoImageDraw )( 
  17836.             IDrawVideoImage * This,
  17837.             /* [in] */ HDC hdc,
  17838.             /* [in] */ LPRECT lprcSrc,
  17839.             /* [in] */ LPRECT lprcDst);
  17840.         
  17841.         END_INTERFACE
  17842.     } IDrawVideoImageVtbl;
  17843.  
  17844.     interface IDrawVideoImage
  17845.     {
  17846.         CONST_VTBL struct IDrawVideoImageVtbl *lpVtbl;
  17847.     };
  17848.  
  17849.     
  17850.  
  17851. #ifdef COBJMACROS
  17852.  
  17853.  
  17854. #define IDrawVideoImage_QueryInterface(This,riid,ppvObject)    \
  17855.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17856.  
  17857. #define IDrawVideoImage_AddRef(This)    \
  17858.     (This)->lpVtbl -> AddRef(This)
  17859.  
  17860. #define IDrawVideoImage_Release(This)    \
  17861.     (This)->lpVtbl -> Release(This)
  17862.  
  17863.  
  17864. #define IDrawVideoImage_DrawVideoImageBegin(This)    \
  17865.     (This)->lpVtbl -> DrawVideoImageBegin(This)
  17866.  
  17867. #define IDrawVideoImage_DrawVideoImageEnd(This)    \
  17868.     (This)->lpVtbl -> DrawVideoImageEnd(This)
  17869.  
  17870. #define IDrawVideoImage_DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst)    \
  17871.     (This)->lpVtbl -> DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst)
  17872.  
  17873. #endif /* COBJMACROS */
  17874.  
  17875.  
  17876. #endif     /* C style interface */
  17877.  
  17878.  
  17879.  
  17880. HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageBegin_Proxy( 
  17881.     IDrawVideoImage * This);
  17882.  
  17883.  
  17884. void __RPC_STUB IDrawVideoImage_DrawVideoImageBegin_Stub(
  17885.     IRpcStubBuffer *This,
  17886.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17887.     PRPC_MESSAGE _pRpcMessage,
  17888.     DWORD *_pdwStubPhase);
  17889.  
  17890.  
  17891. HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageEnd_Proxy( 
  17892.     IDrawVideoImage * This);
  17893.  
  17894.  
  17895. void __RPC_STUB IDrawVideoImage_DrawVideoImageEnd_Stub(
  17896.     IRpcStubBuffer *This,
  17897.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17898.     PRPC_MESSAGE _pRpcMessage,
  17899.     DWORD *_pdwStubPhase);
  17900.  
  17901.  
  17902. HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageDraw_Proxy( 
  17903.     IDrawVideoImage * This,
  17904.     /* [in] */ HDC hdc,
  17905.     /* [in] */ LPRECT lprcSrc,
  17906.     /* [in] */ LPRECT lprcDst);
  17907.  
  17908.  
  17909. void __RPC_STUB IDrawVideoImage_DrawVideoImageDraw_Stub(
  17910.     IRpcStubBuffer *This,
  17911.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17912.     PRPC_MESSAGE _pRpcMessage,
  17913.     DWORD *_pdwStubPhase);
  17914.  
  17915.  
  17916.  
  17917. #endif     /* __IDrawVideoImage_INTERFACE_DEFINED__ */
  17918.  
  17919.  
  17920. #ifndef __IDecimateVideoImage_INTERFACE_DEFINED__
  17921. #define __IDecimateVideoImage_INTERFACE_DEFINED__
  17922.  
  17923. /* interface IDecimateVideoImage */
  17924. /* [unique][uuid][local][object] */ 
  17925.  
  17926.  
  17927. EXTERN_C const IID IID_IDecimateVideoImage;
  17928.  
  17929. #if defined(__cplusplus) && !defined(CINTERFACE)
  17930.     
  17931.     MIDL_INTERFACE("2e5ea3e0-e924-11d2-b6da-00a0c995e8df")
  17932.     IDecimateVideoImage : public IUnknown
  17933.     {
  17934.     public:
  17935.         virtual HRESULT STDMETHODCALLTYPE SetDecimationImageSize( 
  17936.             /* [in] */ long lWidth,
  17937.             /* [in] */ long lHeight) = 0;
  17938.         
  17939.         virtual HRESULT STDMETHODCALLTYPE ResetDecimationImageSize( void) = 0;
  17940.         
  17941.     };
  17942.     
  17943. #else     /* C style interface */
  17944.  
  17945.     typedef struct IDecimateVideoImageVtbl
  17946.     {
  17947.         BEGIN_INTERFACE
  17948.         
  17949.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17950.             IDecimateVideoImage * This,
  17951.             /* [in] */ REFIID riid,
  17952.             /* [iid_is][out] */ void **ppvObject);
  17953.         
  17954.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17955.             IDecimateVideoImage * This);
  17956.         
  17957.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17958.             IDecimateVideoImage * This);
  17959.         
  17960.         HRESULT ( STDMETHODCALLTYPE *SetDecimationImageSize )( 
  17961.             IDecimateVideoImage * This,
  17962.             /* [in] */ long lWidth,
  17963.             /* [in] */ long lHeight);
  17964.         
  17965.         HRESULT ( STDMETHODCALLTYPE *ResetDecimationImageSize )( 
  17966.             IDecimateVideoImage * This);
  17967.         
  17968.         END_INTERFACE
  17969.     } IDecimateVideoImageVtbl;
  17970.  
  17971.     interface IDecimateVideoImage
  17972.     {
  17973.         CONST_VTBL struct IDecimateVideoImageVtbl *lpVtbl;
  17974.     };
  17975.  
  17976.     
  17977.  
  17978. #ifdef COBJMACROS
  17979.  
  17980.  
  17981. #define IDecimateVideoImage_QueryInterface(This,riid,ppvObject)    \
  17982.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17983.  
  17984. #define IDecimateVideoImage_AddRef(This)    \
  17985.     (This)->lpVtbl -> AddRef(This)
  17986.  
  17987. #define IDecimateVideoImage_Release(This)    \
  17988.     (This)->lpVtbl -> Release(This)
  17989.  
  17990.  
  17991. #define IDecimateVideoImage_SetDecimationImageSize(This,lWidth,lHeight)    \
  17992.     (This)->lpVtbl -> SetDecimationImageSize(This,lWidth,lHeight)
  17993.  
  17994. #define IDecimateVideoImage_ResetDecimationImageSize(This)    \
  17995.     (This)->lpVtbl -> ResetDecimationImageSize(This)
  17996.  
  17997. #endif /* COBJMACROS */
  17998.  
  17999.  
  18000. #endif     /* C style interface */
  18001.  
  18002.  
  18003.  
  18004. HRESULT STDMETHODCALLTYPE IDecimateVideoImage_SetDecimationImageSize_Proxy( 
  18005.     IDecimateVideoImage * This,
  18006.     /* [in] */ long lWidth,
  18007.     /* [in] */ long lHeight);
  18008.  
  18009.  
  18010. void __RPC_STUB IDecimateVideoImage_SetDecimationImageSize_Stub(
  18011.     IRpcStubBuffer *This,
  18012.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18013.     PRPC_MESSAGE _pRpcMessage,
  18014.     DWORD *_pdwStubPhase);
  18015.  
  18016.  
  18017. HRESULT STDMETHODCALLTYPE IDecimateVideoImage_ResetDecimationImageSize_Proxy( 
  18018.     IDecimateVideoImage * This);
  18019.  
  18020.  
  18021. void __RPC_STUB IDecimateVideoImage_ResetDecimationImageSize_Stub(
  18022.     IRpcStubBuffer *This,
  18023.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18024.     PRPC_MESSAGE _pRpcMessage,
  18025.     DWORD *_pdwStubPhase);
  18026.  
  18027.  
  18028.  
  18029. #endif     /* __IDecimateVideoImage_INTERFACE_DEFINED__ */
  18030.  
  18031.  
  18032. /* interface __MIDL_itf_strmif_0344 */
  18033. /* [local] */ 
  18034.  
  18035. typedef 
  18036. enum _DECIMATION_USAGE
  18037.     {    DECIMATION_LEGACY    = 0,
  18038.     DECIMATION_USE_DECODER_ONLY    = DECIMATION_LEGACY + 1,
  18039.     DECIMATION_USE_VIDEOPORT_ONLY    = DECIMATION_USE_DECODER_ONLY + 1,
  18040.     DECIMATION_USE_OVERLAY_ONLY    = DECIMATION_USE_VIDEOPORT_ONLY + 1,
  18041.     DECIMATION_DEFAULT    = DECIMATION_USE_OVERLAY_ONLY + 1
  18042.     }     DECIMATION_USAGE;
  18043.  
  18044.  
  18045.  
  18046. extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_c_ifspec;
  18047. extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_s_ifspec;
  18048.  
  18049. #ifndef __IAMVideoDecimationProperties_INTERFACE_DEFINED__
  18050. #define __IAMVideoDecimationProperties_INTERFACE_DEFINED__
  18051.  
  18052. /* interface IAMVideoDecimationProperties */
  18053. /* [unique][uuid][local][object] */ 
  18054.  
  18055.  
  18056. EXTERN_C const IID IID_IAMVideoDecimationProperties;
  18057.  
  18058. #if defined(__cplusplus) && !defined(CINTERFACE)
  18059.     
  18060.     MIDL_INTERFACE("60d32930-13da-11d3-9ec6-c4fcaef5c7be")
  18061.     IAMVideoDecimationProperties : public IUnknown
  18062.     {
  18063.     public:
  18064.         virtual HRESULT STDMETHODCALLTYPE QueryDecimationUsage( 
  18065.             /* [out] */ DECIMATION_USAGE *lpUsage) = 0;
  18066.         
  18067.         virtual HRESULT STDMETHODCALLTYPE SetDecimationUsage( 
  18068.             /* [in] */ DECIMATION_USAGE Usage) = 0;
  18069.         
  18070.     };
  18071.     
  18072. #else     /* C style interface */
  18073.  
  18074.     typedef struct IAMVideoDecimationPropertiesVtbl
  18075.     {
  18076.         BEGIN_INTERFACE
  18077.         
  18078.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18079.             IAMVideoDecimationProperties * This,
  18080.             /* [in] */ REFIID riid,
  18081.             /* [iid_is][out] */ void **ppvObject);
  18082.         
  18083.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18084.             IAMVideoDecimationProperties * This);
  18085.         
  18086.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18087.             IAMVideoDecimationProperties * This);
  18088.         
  18089.         HRESULT ( STDMETHODCALLTYPE *QueryDecimationUsage )( 
  18090.             IAMVideoDecimationProperties * This,
  18091.             /* [out] */ DECIMATION_USAGE *lpUsage);
  18092.         
  18093.         HRESULT ( STDMETHODCALLTYPE *SetDecimationUsage )( 
  18094.             IAMVideoDecimationProperties * This,
  18095.             /* [in] */ DECIMATION_USAGE Usage);
  18096.         
  18097.         END_INTERFACE
  18098.     } IAMVideoDecimationPropertiesVtbl;
  18099.  
  18100.     interface IAMVideoDecimationProperties
  18101.     {
  18102.         CONST_VTBL struct IAMVideoDecimationPropertiesVtbl *lpVtbl;
  18103.     };
  18104.  
  18105.     
  18106.  
  18107. #ifdef COBJMACROS
  18108.  
  18109.  
  18110. #define IAMVideoDecimationProperties_QueryInterface(This,riid,ppvObject)    \
  18111.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18112.  
  18113. #define IAMVideoDecimationProperties_AddRef(This)    \
  18114.     (This)->lpVtbl -> AddRef(This)
  18115.  
  18116. #define IAMVideoDecimationProperties_Release(This)    \
  18117.     (This)->lpVtbl -> Release(This)
  18118.  
  18119.  
  18120. #define IAMVideoDecimationProperties_QueryDecimationUsage(This,lpUsage)    \
  18121.     (This)->lpVtbl -> QueryDecimationUsage(This,lpUsage)
  18122.  
  18123. #define IAMVideoDecimationProperties_SetDecimationUsage(This,Usage)    \
  18124.     (This)->lpVtbl -> SetDecimationUsage(This,Usage)
  18125.  
  18126. #endif /* COBJMACROS */
  18127.  
  18128.  
  18129. #endif     /* C style interface */
  18130.  
  18131.  
  18132.  
  18133. HRESULT STDMETHODCALLTYPE IAMVideoDecimationProperties_QueryDecimationUsage_Proxy( 
  18134.     IAMVideoDecimationProperties * This,
  18135.     /* [out] */ DECIMATION_USAGE *lpUsage);
  18136.  
  18137.  
  18138. void __RPC_STUB IAMVideoDecimationProperties_QueryDecimationUsage_Stub(
  18139.     IRpcStubBuffer *This,
  18140.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18141.     PRPC_MESSAGE _pRpcMessage,
  18142.     DWORD *_pdwStubPhase);
  18143.  
  18144.  
  18145. HRESULT STDMETHODCALLTYPE IAMVideoDecimationProperties_SetDecimationUsage_Proxy( 
  18146.     IAMVideoDecimationProperties * This,
  18147.     /* [in] */ DECIMATION_USAGE Usage);
  18148.  
  18149.  
  18150. void __RPC_STUB IAMVideoDecimationProperties_SetDecimationUsage_Stub(
  18151.     IRpcStubBuffer *This,
  18152.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18153.     PRPC_MESSAGE _pRpcMessage,
  18154.     DWORD *_pdwStubPhase);
  18155.  
  18156.  
  18157.  
  18158. #endif     /* __IAMVideoDecimationProperties_INTERFACE_DEFINED__ */
  18159.  
  18160.  
  18161. #ifndef __IVideoFrameStep_INTERFACE_DEFINED__
  18162. #define __IVideoFrameStep_INTERFACE_DEFINED__
  18163.  
  18164. /* interface IVideoFrameStep */
  18165. /* [unique][uuid][object] */ 
  18166.  
  18167.  
  18168. EXTERN_C const IID IID_IVideoFrameStep;
  18169.  
  18170. #if defined(__cplusplus) && !defined(CINTERFACE)
  18171.     
  18172.     MIDL_INTERFACE("e46a9787-2b71-444d-a4b5-1fab7b708d6a")
  18173.     IVideoFrameStep : public IUnknown
  18174.     {
  18175.     public:
  18176.         virtual HRESULT STDMETHODCALLTYPE Step( 
  18177.             DWORD dwFrames,
  18178.             /* [unique] */ IUnknown *pStepObject) = 0;
  18179.         
  18180.         virtual HRESULT STDMETHODCALLTYPE CanStep( 
  18181.             long bMultiple,
  18182.             /* [unique] */ IUnknown *pStepObject) = 0;
  18183.         
  18184.         virtual HRESULT STDMETHODCALLTYPE CancelStep( void) = 0;
  18185.         
  18186.     };
  18187.     
  18188. #else     /* C style interface */
  18189.  
  18190.     typedef struct IVideoFrameStepVtbl
  18191.     {
  18192.         BEGIN_INTERFACE
  18193.         
  18194.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18195.             IVideoFrameStep * This,
  18196.             /* [in] */ REFIID riid,
  18197.             /* [iid_is][out] */ void **ppvObject);
  18198.         
  18199.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18200.             IVideoFrameStep * This);
  18201.         
  18202.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18203.             IVideoFrameStep * This);
  18204.         
  18205.         HRESULT ( STDMETHODCALLTYPE *Step )( 
  18206.             IVideoFrameStep * This,
  18207.             DWORD dwFrames,
  18208.             /* [unique] */ IUnknown *pStepObject);
  18209.         
  18210.         HRESULT ( STDMETHODCALLTYPE *CanStep )( 
  18211.             IVideoFrameStep * This,
  18212.             long bMultiple,
  18213.             /* [unique] */ IUnknown *pStepObject);
  18214.         
  18215.         HRESULT ( STDMETHODCALLTYPE *CancelStep )( 
  18216.             IVideoFrameStep * This);
  18217.         
  18218.         END_INTERFACE
  18219.     } IVideoFrameStepVtbl;
  18220.  
  18221.     interface IVideoFrameStep
  18222.     {
  18223.         CONST_VTBL struct IVideoFrameStepVtbl *lpVtbl;
  18224.     };
  18225.  
  18226.     
  18227.  
  18228. #ifdef COBJMACROS
  18229.  
  18230.  
  18231. #define IVideoFrameStep_QueryInterface(This,riid,ppvObject)    \
  18232.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18233.  
  18234. #define IVideoFrameStep_AddRef(This)    \
  18235.     (This)->lpVtbl -> AddRef(This)
  18236.  
  18237. #define IVideoFrameStep_Release(This)    \
  18238.     (This)->lpVtbl -> Release(This)
  18239.  
  18240.  
  18241. #define IVideoFrameStep_Step(This,dwFrames,pStepObject)    \
  18242.     (This)->lpVtbl -> Step(This,dwFrames,pStepObject)
  18243.  
  18244. #define IVideoFrameStep_CanStep(This,bMultiple,pStepObject)    \
  18245.     (This)->lpVtbl -> CanStep(This,bMultiple,pStepObject)
  18246.  
  18247. #define IVideoFrameStep_CancelStep(This)    \
  18248.     (This)->lpVtbl -> CancelStep(This)
  18249.  
  18250. #endif /* COBJMACROS */
  18251.  
  18252.  
  18253. #endif     /* C style interface */
  18254.  
  18255.  
  18256.  
  18257. HRESULT STDMETHODCALLTYPE IVideoFrameStep_Step_Proxy( 
  18258.     IVideoFrameStep * This,
  18259.     DWORD dwFrames,
  18260.     /* [unique] */ IUnknown *pStepObject);
  18261.  
  18262.  
  18263. void __RPC_STUB IVideoFrameStep_Step_Stub(
  18264.     IRpcStubBuffer *This,
  18265.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18266.     PRPC_MESSAGE _pRpcMessage,
  18267.     DWORD *_pdwStubPhase);
  18268.  
  18269.  
  18270. HRESULT STDMETHODCALLTYPE IVideoFrameStep_CanStep_Proxy( 
  18271.     IVideoFrameStep * This,
  18272.     long bMultiple,
  18273.     /* [unique] */ IUnknown *pStepObject);
  18274.  
  18275.  
  18276. void __RPC_STUB IVideoFrameStep_CanStep_Stub(
  18277.     IRpcStubBuffer *This,
  18278.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18279.     PRPC_MESSAGE _pRpcMessage,
  18280.     DWORD *_pdwStubPhase);
  18281.  
  18282.  
  18283. HRESULT STDMETHODCALLTYPE IVideoFrameStep_CancelStep_Proxy( 
  18284.     IVideoFrameStep * This);
  18285.  
  18286.  
  18287. void __RPC_STUB IVideoFrameStep_CancelStep_Stub(
  18288.     IRpcStubBuffer *This,
  18289.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18290.     PRPC_MESSAGE _pRpcMessage,
  18291.     DWORD *_pdwStubPhase);
  18292.  
  18293.  
  18294.  
  18295. #endif     /* __IVideoFrameStep_INTERFACE_DEFINED__ */
  18296.  
  18297.  
  18298. /* interface __MIDL_itf_strmif_0346 */
  18299. /* [local] */ 
  18300.  
  18301.  
  18302. enum _AM_PUSHSOURCE_FLAGS
  18303.     {    AM_PUSHSOURCECAPS_INTERNAL_RM    = 0x1,
  18304.     AM_PUSHSOURCECAPS_NOT_LIVE    = 0x2,
  18305.     AM_PUSHSOURCECAPS_PRIVATE_CLOCK    = 0x4,
  18306.     AM_PUSHSOURCEREQS_USE_STREAM_CLOCK    = 0x10000,
  18307.     AM_PUSHSOURCEREQS_USE_CLOCK_CHAIN    = 0x20000
  18308.     } ;
  18309.  
  18310.  
  18311. extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_c_ifspec;
  18312. extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_s_ifspec;
  18313.  
  18314. #ifndef __IAMLatency_INTERFACE_DEFINED__
  18315. #define __IAMLatency_INTERFACE_DEFINED__
  18316.  
  18317. /* interface IAMLatency */
  18318. /* [unique][uuid][object] */ 
  18319.  
  18320.  
  18321. EXTERN_C const IID IID_IAMLatency;
  18322.  
  18323. #if defined(__cplusplus) && !defined(CINTERFACE)
  18324.     
  18325.     MIDL_INTERFACE("62EA93BA-EC62-11d2-B770-00C04FB6BD3D")
  18326.     IAMLatency : public IUnknown
  18327.     {
  18328.     public:
  18329.         virtual HRESULT STDMETHODCALLTYPE GetLatency( 
  18330.             /* [in] */ REFERENCE_TIME *prtLatency) = 0;
  18331.         
  18332.     };
  18333.     
  18334. #else     /* C style interface */
  18335.  
  18336.     typedef struct IAMLatencyVtbl
  18337.     {
  18338.         BEGIN_INTERFACE
  18339.         
  18340.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18341.             IAMLatency * This,
  18342.             /* [in] */ REFIID riid,
  18343.             /* [iid_is][out] */ void **ppvObject);
  18344.         
  18345.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18346.             IAMLatency * This);
  18347.         
  18348.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18349.             IAMLatency * This);
  18350.         
  18351.         HRESULT ( STDMETHODCALLTYPE *GetLatency )( 
  18352.             IAMLatency * This,
  18353.             /* [in] */ REFERENCE_TIME *prtLatency);
  18354.         
  18355.         END_INTERFACE
  18356.     } IAMLatencyVtbl;
  18357.  
  18358.     interface IAMLatency
  18359.     {
  18360.         CONST_VTBL struct IAMLatencyVtbl *lpVtbl;
  18361.     };
  18362.  
  18363.     
  18364.  
  18365. #ifdef COBJMACROS
  18366.  
  18367.  
  18368. #define IAMLatency_QueryInterface(This,riid,ppvObject)    \
  18369.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18370.  
  18371. #define IAMLatency_AddRef(This)    \
  18372.     (This)->lpVtbl -> AddRef(This)
  18373.  
  18374. #define IAMLatency_Release(This)    \
  18375.     (This)->lpVtbl -> Release(This)
  18376.  
  18377.  
  18378. #define IAMLatency_GetLatency(This,prtLatency)    \
  18379.     (This)->lpVtbl -> GetLatency(This,prtLatency)
  18380.  
  18381. #endif /* COBJMACROS */
  18382.  
  18383.  
  18384. #endif     /* C style interface */
  18385.  
  18386.  
  18387.  
  18388. HRESULT STDMETHODCALLTYPE IAMLatency_GetLatency_Proxy( 
  18389.     IAMLatency * This,
  18390.     /* [in] */ REFERENCE_TIME *prtLatency);
  18391.  
  18392.  
  18393. void __RPC_STUB IAMLatency_GetLatency_Stub(
  18394.     IRpcStubBuffer *This,
  18395.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18396.     PRPC_MESSAGE _pRpcMessage,
  18397.     DWORD *_pdwStubPhase);
  18398.  
  18399.  
  18400.  
  18401. #endif     /* __IAMLatency_INTERFACE_DEFINED__ */
  18402.  
  18403.  
  18404. #ifndef __IAMPushSource_INTERFACE_DEFINED__
  18405. #define __IAMPushSource_INTERFACE_DEFINED__
  18406.  
  18407. /* interface IAMPushSource */
  18408. /* [unique][uuid][object] */ 
  18409.  
  18410.  
  18411. EXTERN_C const IID IID_IAMPushSource;
  18412.  
  18413. #if defined(__cplusplus) && !defined(CINTERFACE)
  18414.     
  18415.     MIDL_INTERFACE("F185FE76-E64E-11d2-B76E-00C04FB6BD3D")
  18416.     IAMPushSource : public IAMLatency
  18417.     {
  18418.     public:
  18419.         virtual HRESULT STDMETHODCALLTYPE GetPushSourceFlags( 
  18420.             /* [out] */ ULONG *pFlags) = 0;
  18421.         
  18422.         virtual HRESULT STDMETHODCALLTYPE SetPushSourceFlags( 
  18423.             /* [in] */ ULONG Flags) = 0;
  18424.         
  18425.         virtual HRESULT STDMETHODCALLTYPE SetStreamOffset( 
  18426.             /* [in] */ REFERENCE_TIME rtOffset) = 0;
  18427.         
  18428.         virtual HRESULT STDMETHODCALLTYPE GetStreamOffset( 
  18429.             /* [out] */ REFERENCE_TIME *prtOffset) = 0;
  18430.         
  18431.         virtual HRESULT STDMETHODCALLTYPE GetMaxStreamOffset( 
  18432.             /* [out] */ REFERENCE_TIME *prtMaxOffset) = 0;
  18433.         
  18434.         virtual HRESULT STDMETHODCALLTYPE SetMaxStreamOffset( 
  18435.             /* [in] */ REFERENCE_TIME rtMaxOffset) = 0;
  18436.         
  18437.     };
  18438.     
  18439. #else     /* C style interface */
  18440.  
  18441.     typedef struct IAMPushSourceVtbl
  18442.     {
  18443.         BEGIN_INTERFACE
  18444.         
  18445.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18446.             IAMPushSource * This,
  18447.             /* [in] */ REFIID riid,
  18448.             /* [iid_is][out] */ void **ppvObject);
  18449.         
  18450.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18451.             IAMPushSource * This);
  18452.         
  18453.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18454.             IAMPushSource * This);
  18455.         
  18456.         HRESULT ( STDMETHODCALLTYPE *GetLatency )( 
  18457.             IAMPushSource * This,
  18458.             /* [in] */ REFERENCE_TIME *prtLatency);
  18459.         
  18460.         HRESULT ( STDMETHODCALLTYPE *GetPushSourceFlags )( 
  18461.             IAMPushSource * This,
  18462.             /* [out] */ ULONG *pFlags);
  18463.         
  18464.         HRESULT ( STDMETHODCALLTYPE *SetPushSourceFlags )( 
  18465.             IAMPushSource * This,
  18466.             /* [in] */ ULONG Flags);
  18467.         
  18468.         HRESULT ( STDMETHODCALLTYPE *SetStreamOffset )( 
  18469.             IAMPushSource * This,
  18470.             /* [in] */ REFERENCE_TIME rtOffset);
  18471.         
  18472.         HRESULT ( STDMETHODCALLTYPE *GetStreamOffset )( 
  18473.             IAMPushSource * This,
  18474.             /* [out] */ REFERENCE_TIME *prtOffset);
  18475.         
  18476.         HRESULT ( STDMETHODCALLTYPE *GetMaxStreamOffset )( 
  18477.             IAMPushSource * This,
  18478.             /* [out] */ REFERENCE_TIME *prtMaxOffset);
  18479.         
  18480.         HRESULT ( STDMETHODCALLTYPE *SetMaxStreamOffset )( 
  18481.             IAMPushSource * This,
  18482.             /* [in] */ REFERENCE_TIME rtMaxOffset);
  18483.         
  18484.         END_INTERFACE
  18485.     } IAMPushSourceVtbl;
  18486.  
  18487.     interface IAMPushSource
  18488.     {
  18489.         CONST_VTBL struct IAMPushSourceVtbl *lpVtbl;
  18490.     };
  18491.  
  18492.     
  18493.  
  18494. #ifdef COBJMACROS
  18495.  
  18496.  
  18497. #define IAMPushSource_QueryInterface(This,riid,ppvObject)    \
  18498.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18499.  
  18500. #define IAMPushSource_AddRef(This)    \
  18501.     (This)->lpVtbl -> AddRef(This)
  18502.  
  18503. #define IAMPushSource_Release(This)    \
  18504.     (This)->lpVtbl -> Release(This)
  18505.  
  18506.  
  18507. #define IAMPushSource_GetLatency(This,prtLatency)    \
  18508.     (This)->lpVtbl -> GetLatency(This,prtLatency)
  18509.  
  18510.  
  18511. #define IAMPushSource_GetPushSourceFlags(This,pFlags)    \
  18512.     (This)->lpVtbl -> GetPushSourceFlags(This,pFlags)
  18513.  
  18514. #define IAMPushSource_SetPushSourceFlags(This,Flags)    \
  18515.     (This)->lpVtbl -> SetPushSourceFlags(This,Flags)
  18516.  
  18517. #define IAMPushSource_SetStreamOffset(This,rtOffset)    \
  18518.     (This)->lpVtbl -> SetStreamOffset(This,rtOffset)
  18519.  
  18520. #define IAMPushSource_GetStreamOffset(This,prtOffset)    \
  18521.     (This)->lpVtbl -> GetStreamOffset(This,prtOffset)
  18522.  
  18523. #define IAMPushSource_GetMaxStreamOffset(This,prtMaxOffset)    \
  18524.     (This)->lpVtbl -> GetMaxStreamOffset(This,prtMaxOffset)
  18525.  
  18526. #define IAMPushSource_SetMaxStreamOffset(This,rtMaxOffset)    \
  18527.     (This)->lpVtbl -> SetMaxStreamOffset(This,rtMaxOffset)
  18528.  
  18529. #endif /* COBJMACROS */
  18530.  
  18531.  
  18532. #endif     /* C style interface */
  18533.  
  18534.  
  18535.  
  18536. HRESULT STDMETHODCALLTYPE IAMPushSource_GetPushSourceFlags_Proxy( 
  18537.     IAMPushSource * This,
  18538.     /* [out] */ ULONG *pFlags);
  18539.  
  18540.  
  18541. void __RPC_STUB IAMPushSource_GetPushSourceFlags_Stub(
  18542.     IRpcStubBuffer *This,
  18543.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18544.     PRPC_MESSAGE _pRpcMessage,
  18545.     DWORD *_pdwStubPhase);
  18546.  
  18547.  
  18548. HRESULT STDMETHODCALLTYPE IAMPushSource_SetPushSourceFlags_Proxy( 
  18549.     IAMPushSource * This,
  18550.     /* [in] */ ULONG Flags);
  18551.  
  18552.  
  18553. void __RPC_STUB IAMPushSource_SetPushSourceFlags_Stub(
  18554.     IRpcStubBuffer *This,
  18555.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18556.     PRPC_MESSAGE _pRpcMessage,
  18557.     DWORD *_pdwStubPhase);
  18558.  
  18559.  
  18560. HRESULT STDMETHODCALLTYPE IAMPushSource_SetStreamOffset_Proxy( 
  18561.     IAMPushSource * This,
  18562.     /* [in] */ REFERENCE_TIME rtOffset);
  18563.  
  18564.  
  18565. void __RPC_STUB IAMPushSource_SetStreamOffset_Stub(
  18566.     IRpcStubBuffer *This,
  18567.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18568.     PRPC_MESSAGE _pRpcMessage,
  18569.     DWORD *_pdwStubPhase);
  18570.  
  18571.  
  18572. HRESULT STDMETHODCALLTYPE IAMPushSource_GetStreamOffset_Proxy( 
  18573.     IAMPushSource * This,
  18574.     /* [out] */ REFERENCE_TIME *prtOffset);
  18575.  
  18576.  
  18577. void __RPC_STUB IAMPushSource_GetStreamOffset_Stub(
  18578.     IRpcStubBuffer *This,
  18579.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18580.     PRPC_MESSAGE _pRpcMessage,
  18581.     DWORD *_pdwStubPhase);
  18582.  
  18583.  
  18584. HRESULT STDMETHODCALLTYPE IAMPushSource_GetMaxStreamOffset_Proxy( 
  18585.     IAMPushSource * This,
  18586.     /* [out] */ REFERENCE_TIME *prtMaxOffset);
  18587.  
  18588.  
  18589. void __RPC_STUB IAMPushSource_GetMaxStreamOffset_Stub(
  18590.     IRpcStubBuffer *This,
  18591.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18592.     PRPC_MESSAGE _pRpcMessage,
  18593.     DWORD *_pdwStubPhase);
  18594.  
  18595.  
  18596. HRESULT STDMETHODCALLTYPE IAMPushSource_SetMaxStreamOffset_Proxy( 
  18597.     IAMPushSource * This,
  18598.     /* [in] */ REFERENCE_TIME rtMaxOffset);
  18599.  
  18600.  
  18601. void __RPC_STUB IAMPushSource_SetMaxStreamOffset_Stub(
  18602.     IRpcStubBuffer *This,
  18603.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18604.     PRPC_MESSAGE _pRpcMessage,
  18605.     DWORD *_pdwStubPhase);
  18606.  
  18607.  
  18608.  
  18609. #endif     /* __IAMPushSource_INTERFACE_DEFINED__ */
  18610.  
  18611.  
  18612. #ifndef __IAMDeviceRemoval_INTERFACE_DEFINED__
  18613. #define __IAMDeviceRemoval_INTERFACE_DEFINED__
  18614.  
  18615. /* interface IAMDeviceRemoval */
  18616. /* [unique][uuid][object] */ 
  18617.  
  18618.  
  18619. EXTERN_C const IID IID_IAMDeviceRemoval;
  18620.  
  18621. #if defined(__cplusplus) && !defined(CINTERFACE)
  18622.     
  18623.     MIDL_INTERFACE("f90a6130-b658-11d2-ae49-0000f8754b99")
  18624.     IAMDeviceRemoval : public IUnknown
  18625.     {
  18626.     public:
  18627.         virtual HRESULT STDMETHODCALLTYPE DeviceInfo( 
  18628.             /* [out] */ CLSID *pclsidInterfaceClass,
  18629.             /* [out] */ WCHAR **pwszSymbolicLink) = 0;
  18630.         
  18631.         virtual HRESULT STDMETHODCALLTYPE Reassociate( void) = 0;
  18632.         
  18633.         virtual HRESULT STDMETHODCALLTYPE Disassociate( void) = 0;
  18634.         
  18635.     };
  18636.     
  18637. #else     /* C style interface */
  18638.  
  18639.     typedef struct IAMDeviceRemovalVtbl
  18640.     {
  18641.         BEGIN_INTERFACE
  18642.         
  18643.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18644.             IAMDeviceRemoval * This,
  18645.             /* [in] */ REFIID riid,
  18646.             /* [iid_is][out] */ void **ppvObject);
  18647.         
  18648.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18649.             IAMDeviceRemoval * This);
  18650.         
  18651.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18652.             IAMDeviceRemoval * This);
  18653.         
  18654.         HRESULT ( STDMETHODCALLTYPE *DeviceInfo )( 
  18655.             IAMDeviceRemoval * This,
  18656.             /* [out] */ CLSID *pclsidInterfaceClass,
  18657.             /* [out] */ WCHAR **pwszSymbolicLink);
  18658.         
  18659.         HRESULT ( STDMETHODCALLTYPE *Reassociate )( 
  18660.             IAMDeviceRemoval * This);
  18661.         
  18662.         HRESULT ( STDMETHODCALLTYPE *Disassociate )( 
  18663.             IAMDeviceRemoval * This);
  18664.         
  18665.         END_INTERFACE
  18666.     } IAMDeviceRemovalVtbl;
  18667.  
  18668.     interface IAMDeviceRemoval
  18669.     {
  18670.         CONST_VTBL struct IAMDeviceRemovalVtbl *lpVtbl;
  18671.     };
  18672.  
  18673.     
  18674.  
  18675. #ifdef COBJMACROS
  18676.  
  18677.  
  18678. #define IAMDeviceRemoval_QueryInterface(This,riid,ppvObject)    \
  18679.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18680.  
  18681. #define IAMDeviceRemoval_AddRef(This)    \
  18682.     (This)->lpVtbl -> AddRef(This)
  18683.  
  18684. #define IAMDeviceRemoval_Release(This)    \
  18685.     (This)->lpVtbl -> Release(This)
  18686.  
  18687.  
  18688. #define IAMDeviceRemoval_DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink)    \
  18689.     (This)->lpVtbl -> DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink)
  18690.  
  18691. #define IAMDeviceRemoval_Reassociate(This)    \
  18692.     (This)->lpVtbl -> Reassociate(This)
  18693.  
  18694. #define IAMDeviceRemoval_Disassociate(This)    \
  18695.     (This)->lpVtbl -> Disassociate(This)
  18696.  
  18697. #endif /* COBJMACROS */
  18698.  
  18699.  
  18700. #endif     /* C style interface */
  18701.  
  18702.  
  18703.  
  18704. HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_DeviceInfo_Proxy( 
  18705.     IAMDeviceRemoval * This,
  18706.     /* [out] */ CLSID *pclsidInterfaceClass,
  18707.     /* [out] */ WCHAR **pwszSymbolicLink);
  18708.  
  18709.  
  18710. void __RPC_STUB IAMDeviceRemoval_DeviceInfo_Stub(
  18711.     IRpcStubBuffer *This,
  18712.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18713.     PRPC_MESSAGE _pRpcMessage,
  18714.     DWORD *_pdwStubPhase);
  18715.  
  18716.  
  18717. HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_Reassociate_Proxy( 
  18718.     IAMDeviceRemoval * This);
  18719.  
  18720.  
  18721. void __RPC_STUB IAMDeviceRemoval_Reassociate_Stub(
  18722.     IRpcStubBuffer *This,
  18723.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18724.     PRPC_MESSAGE _pRpcMessage,
  18725.     DWORD *_pdwStubPhase);
  18726.  
  18727.  
  18728. HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_Disassociate_Proxy( 
  18729.     IAMDeviceRemoval * This);
  18730.  
  18731.  
  18732. void __RPC_STUB IAMDeviceRemoval_Disassociate_Stub(
  18733.     IRpcStubBuffer *This,
  18734.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18735.     PRPC_MESSAGE _pRpcMessage,
  18736.     DWORD *_pdwStubPhase);
  18737.  
  18738.  
  18739.  
  18740. #endif     /* __IAMDeviceRemoval_INTERFACE_DEFINED__ */
  18741.  
  18742.  
  18743. /* interface __MIDL_itf_strmif_0348 */
  18744. /* [local] */ 
  18745.  
  18746. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0348_0001
  18747.     {
  18748.     DWORD dwDVAAuxSrc;
  18749.     DWORD dwDVAAuxCtl;
  18750.     DWORD dwDVAAuxSrc1;
  18751.     DWORD dwDVAAuxCtl1;
  18752.     DWORD dwDVVAuxSrc;
  18753.     DWORD dwDVVAuxCtl;
  18754.     DWORD dwDVReserved[ 2 ];
  18755.     }     DVINFO;
  18756.  
  18757. typedef struct __MIDL___MIDL_itf_strmif_0348_0001 *PDVINFO;
  18758.  
  18759.  
  18760. enum _DVENCODERRESOLUTION
  18761.     {    DVENCODERRESOLUTION_720x480    = 2012,
  18762.     DVENCODERRESOLUTION_360x240    = 2013,
  18763.     DVENCODERRESOLUTION_180x120    = 2014,
  18764.     DVENCODERRESOLUTION_88x60    = 2015
  18765.     } ;
  18766.  
  18767. enum _DVENCODERVIDEOFORMAT
  18768.     {    DVENCODERVIDEOFORMAT_NTSC    = 2000,
  18769.     DVENCODERVIDEOFORMAT_PAL    = 2001
  18770.     } ;
  18771.  
  18772. enum _DVENCODERFORMAT
  18773.     {    DVENCODERFORMAT_DVSD    = 2007,
  18774.     DVENCODERFORMAT_DVHD    = 2008,
  18775.     DVENCODERFORMAT_DVSL    = 2009
  18776.     } ;
  18777.  
  18778.  
  18779. extern RPC_IF_HANDLE __MIDL_itf_strmif_0348_v0_0_c_ifspec;
  18780. extern RPC_IF_HANDLE __MIDL_itf_strmif_0348_v0_0_s_ifspec;
  18781.  
  18782. #ifndef __IDVEnc_INTERFACE_DEFINED__
  18783. #define __IDVEnc_INTERFACE_DEFINED__
  18784.  
  18785. /* interface IDVEnc */
  18786. /* [unique][uuid][object] */ 
  18787.  
  18788.  
  18789. EXTERN_C const IID IID_IDVEnc;
  18790.  
  18791. #if defined(__cplusplus) && !defined(CINTERFACE)
  18792.     
  18793.     MIDL_INTERFACE("d18e17a0-aacb-11d0-afb0-00aa00b67a42")
  18794.     IDVEnc : public IUnknown
  18795.     {
  18796.     public:
  18797.         virtual HRESULT STDMETHODCALLTYPE get_IFormatResolution( 
  18798.             /* [out] */ int *VideoFormat,
  18799.             /* [out] */ int *DVFormat,
  18800.             /* [out] */ int *Resolution,
  18801.             /* [in] */ BYTE fDVInfo,
  18802.             /* [out] */ DVINFO *sDVInfo) = 0;
  18803.         
  18804.         virtual HRESULT STDMETHODCALLTYPE put_IFormatResolution( 
  18805.             /* [in] */ int VideoFormat,
  18806.             /* [in] */ int DVFormat,
  18807.             /* [in] */ int Resolution,
  18808.             /* [in] */ BYTE fDVInfo,
  18809.             /* [in] */ DVINFO *sDVInfo) = 0;
  18810.         
  18811.     };
  18812.     
  18813. #else     /* C style interface */
  18814.  
  18815.     typedef struct IDVEncVtbl
  18816.     {
  18817.         BEGIN_INTERFACE
  18818.         
  18819.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18820.             IDVEnc * This,
  18821.             /* [in] */ REFIID riid,
  18822.             /* [iid_is][out] */ void **ppvObject);
  18823.         
  18824.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18825.             IDVEnc * This);
  18826.         
  18827.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18828.             IDVEnc * This);
  18829.         
  18830.         HRESULT ( STDMETHODCALLTYPE *get_IFormatResolution )( 
  18831.             IDVEnc * This,
  18832.             /* [out] */ int *VideoFormat,
  18833.             /* [out] */ int *DVFormat,
  18834.             /* [out] */ int *Resolution,
  18835.             /* [in] */ BYTE fDVInfo,
  18836.             /* [out] */ DVINFO *sDVInfo);
  18837.         
  18838.         HRESULT ( STDMETHODCALLTYPE *put_IFormatResolution )( 
  18839.             IDVEnc * This,
  18840.             /* [in] */ int VideoFormat,
  18841.             /* [in] */ int DVFormat,
  18842.             /* [in] */ int Resolution,
  18843.             /* [in] */ BYTE fDVInfo,
  18844.             /* [in] */ DVINFO *sDVInfo);
  18845.         
  18846.         END_INTERFACE
  18847.     } IDVEncVtbl;
  18848.  
  18849.     interface IDVEnc
  18850.     {
  18851.         CONST_VTBL struct IDVEncVtbl *lpVtbl;
  18852.     };
  18853.  
  18854.     
  18855.  
  18856. #ifdef COBJMACROS
  18857.  
  18858.  
  18859. #define IDVEnc_QueryInterface(This,riid,ppvObject)    \
  18860.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18861.  
  18862. #define IDVEnc_AddRef(This)    \
  18863.     (This)->lpVtbl -> AddRef(This)
  18864.  
  18865. #define IDVEnc_Release(This)    \
  18866.     (This)->lpVtbl -> Release(This)
  18867.  
  18868.  
  18869. #define IDVEnc_get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)    \
  18870.     (This)->lpVtbl -> get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
  18871.  
  18872. #define IDVEnc_put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)    \
  18873.     (This)->lpVtbl -> put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
  18874.  
  18875. #endif /* COBJMACROS */
  18876.  
  18877.  
  18878. #endif     /* C style interface */
  18879.  
  18880.  
  18881.  
  18882. HRESULT STDMETHODCALLTYPE IDVEnc_get_IFormatResolution_Proxy( 
  18883.     IDVEnc * This,
  18884.     /* [out] */ int *VideoFormat,
  18885.     /* [out] */ int *DVFormat,
  18886.     /* [out] */ int *Resolution,
  18887.     /* [in] */ BYTE fDVInfo,
  18888.     /* [out] */ DVINFO *sDVInfo);
  18889.  
  18890.  
  18891. void __RPC_STUB IDVEnc_get_IFormatResolution_Stub(
  18892.     IRpcStubBuffer *This,
  18893.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18894.     PRPC_MESSAGE _pRpcMessage,
  18895.     DWORD *_pdwStubPhase);
  18896.  
  18897.  
  18898. HRESULT STDMETHODCALLTYPE IDVEnc_put_IFormatResolution_Proxy( 
  18899.     IDVEnc * This,
  18900.     /* [in] */ int VideoFormat,
  18901.     /* [in] */ int DVFormat,
  18902.     /* [in] */ int Resolution,
  18903.     /* [in] */ BYTE fDVInfo,
  18904.     /* [in] */ DVINFO *sDVInfo);
  18905.  
  18906.  
  18907. void __RPC_STUB IDVEnc_put_IFormatResolution_Stub(
  18908.     IRpcStubBuffer *This,
  18909.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18910.     PRPC_MESSAGE _pRpcMessage,
  18911.     DWORD *_pdwStubPhase);
  18912.  
  18913.  
  18914.  
  18915. #endif     /* __IDVEnc_INTERFACE_DEFINED__ */
  18916.  
  18917.  
  18918. /* interface __MIDL_itf_strmif_0349 */
  18919. /* [local] */ 
  18920.  
  18921.  
  18922. enum _DVDECODERRESOLUTION
  18923.     {    DVDECODERRESOLUTION_720x480    = 1000,
  18924.     DVDECODERRESOLUTION_360x240    = 1001,
  18925.     DVDECODERRESOLUTION_180x120    = 1002,
  18926.     DVDECODERRESOLUTION_88x60    = 1003
  18927.     } ;
  18928.  
  18929. enum _DVRESOLUTION
  18930.     {    DVRESOLUTION_FULL    = 1000,
  18931.     DVRESOLUTION_HALF    = 1001,
  18932.     DVRESOLUTION_QUARTER    = 1002,
  18933.     DVRESOLUTION_DC    = 1003
  18934.     } ;
  18935.  
  18936.  
  18937. extern RPC_IF_HANDLE __MIDL_itf_strmif_0349_v0_0_c_ifspec;
  18938. extern RPC_IF_HANDLE __MIDL_itf_strmif_0349_v0_0_s_ifspec;
  18939.  
  18940. #ifndef __IIPDVDec_INTERFACE_DEFINED__
  18941. #define __IIPDVDec_INTERFACE_DEFINED__
  18942.  
  18943. /* interface IIPDVDec */
  18944. /* [unique][uuid][object] */ 
  18945.  
  18946.  
  18947. EXTERN_C const IID IID_IIPDVDec;
  18948.  
  18949. #if defined(__cplusplus) && !defined(CINTERFACE)
  18950.     
  18951.     MIDL_INTERFACE("b8e8bd60-0bfe-11d0-af91-00aa00b67a42")
  18952.     IIPDVDec : public IUnknown
  18953.     {
  18954.     public:
  18955.         virtual HRESULT STDMETHODCALLTYPE get_IPDisplay( 
  18956.             /* [out] */ int *displayPix) = 0;
  18957.         
  18958.         virtual HRESULT STDMETHODCALLTYPE put_IPDisplay( 
  18959.             /* [in] */ int displayPix) = 0;
  18960.         
  18961.     };
  18962.     
  18963. #else     /* C style interface */
  18964.  
  18965.     typedef struct IIPDVDecVtbl
  18966.     {
  18967.         BEGIN_INTERFACE
  18968.         
  18969.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18970.             IIPDVDec * This,
  18971.             /* [in] */ REFIID riid,
  18972.             /* [iid_is][out] */ void **ppvObject);
  18973.         
  18974.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18975.             IIPDVDec * This);
  18976.         
  18977.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18978.             IIPDVDec * This);
  18979.         
  18980.         HRESULT ( STDMETHODCALLTYPE *get_IPDisplay )( 
  18981.             IIPDVDec * This,
  18982.             /* [out] */ int *displayPix);
  18983.         
  18984.         HRESULT ( STDMETHODCALLTYPE *put_IPDisplay )( 
  18985.             IIPDVDec * This,
  18986.             /* [in] */ int displayPix);
  18987.         
  18988.         END_INTERFACE
  18989.     } IIPDVDecVtbl;
  18990.  
  18991.     interface IIPDVDec
  18992.     {
  18993.         CONST_VTBL struct IIPDVDecVtbl *lpVtbl;
  18994.     };
  18995.  
  18996.     
  18997.  
  18998. #ifdef COBJMACROS
  18999.  
  19000.  
  19001. #define IIPDVDec_QueryInterface(This,riid,ppvObject)    \
  19002.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19003.  
  19004. #define IIPDVDec_AddRef(This)    \
  19005.     (This)->lpVtbl -> AddRef(This)
  19006.  
  19007. #define IIPDVDec_Release(This)    \
  19008.     (This)->lpVtbl -> Release(This)
  19009.  
  19010.  
  19011. #define IIPDVDec_get_IPDisplay(This,displayPix)    \
  19012.     (This)->lpVtbl -> get_IPDisplay(This,displayPix)
  19013.  
  19014. #define IIPDVDec_put_IPDisplay(This,displayPix)    \
  19015.     (This)->lpVtbl -> put_IPDisplay(This,displayPix)
  19016.  
  19017. #endif /* COBJMACROS */
  19018.  
  19019.  
  19020. #endif     /* C style interface */
  19021.  
  19022.  
  19023.  
  19024. HRESULT STDMETHODCALLTYPE IIPDVDec_get_IPDisplay_Proxy( 
  19025.     IIPDVDec * This,
  19026.     /* [out] */ int *displayPix);
  19027.  
  19028.  
  19029. void __RPC_STUB IIPDVDec_get_IPDisplay_Stub(
  19030.     IRpcStubBuffer *This,
  19031.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19032.     PRPC_MESSAGE _pRpcMessage,
  19033.     DWORD *_pdwStubPhase);
  19034.  
  19035.  
  19036. HRESULT STDMETHODCALLTYPE IIPDVDec_put_IPDisplay_Proxy( 
  19037.     IIPDVDec * This,
  19038.     /* [in] */ int displayPix);
  19039.  
  19040.  
  19041. void __RPC_STUB IIPDVDec_put_IPDisplay_Stub(
  19042.     IRpcStubBuffer *This,
  19043.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19044.     PRPC_MESSAGE _pRpcMessage,
  19045.     DWORD *_pdwStubPhase);
  19046.  
  19047.  
  19048.  
  19049. #endif     /* __IIPDVDec_INTERFACE_DEFINED__ */
  19050.  
  19051.  
  19052. #ifndef __IDVRGB219_INTERFACE_DEFINED__
  19053. #define __IDVRGB219_INTERFACE_DEFINED__
  19054.  
  19055. /* interface IDVRGB219 */
  19056. /* [unique][uuid][object] */ 
  19057.  
  19058.  
  19059. EXTERN_C const IID IID_IDVRGB219;
  19060.  
  19061. #if defined(__cplusplus) && !defined(CINTERFACE)
  19062.     
  19063.     MIDL_INTERFACE("58473A19-2BC8-4663-8012-25F81BABDDD1")
  19064.     IDVRGB219 : public IUnknown
  19065.     {
  19066.     public:
  19067.         virtual HRESULT STDMETHODCALLTYPE SetRGB219( 
  19068.             /* [in] */ BOOL bState) = 0;
  19069.         
  19070.     };
  19071.     
  19072. #else     /* C style interface */
  19073.  
  19074.     typedef struct IDVRGB219Vtbl
  19075.     {
  19076.         BEGIN_INTERFACE
  19077.         
  19078.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19079.             IDVRGB219 * This,
  19080.             /* [in] */ REFIID riid,
  19081.             /* [iid_is][out] */ void **ppvObject);
  19082.         
  19083.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19084.             IDVRGB219 * This);
  19085.         
  19086.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19087.             IDVRGB219 * This);
  19088.         
  19089.         HRESULT ( STDMETHODCALLTYPE *SetRGB219 )( 
  19090.             IDVRGB219 * This,
  19091.             /* [in] */ BOOL bState);
  19092.         
  19093.         END_INTERFACE
  19094.     } IDVRGB219Vtbl;
  19095.  
  19096.     interface IDVRGB219
  19097.     {
  19098.         CONST_VTBL struct IDVRGB219Vtbl *lpVtbl;
  19099.     };
  19100.  
  19101.     
  19102.  
  19103. #ifdef COBJMACROS
  19104.  
  19105.  
  19106. #define IDVRGB219_QueryInterface(This,riid,ppvObject)    \
  19107.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19108.  
  19109. #define IDVRGB219_AddRef(This)    \
  19110.     (This)->lpVtbl -> AddRef(This)
  19111.  
  19112. #define IDVRGB219_Release(This)    \
  19113.     (This)->lpVtbl -> Release(This)
  19114.  
  19115.  
  19116. #define IDVRGB219_SetRGB219(This,bState)    \
  19117.     (This)->lpVtbl -> SetRGB219(This,bState)
  19118.  
  19119. #endif /* COBJMACROS */
  19120.  
  19121.  
  19122. #endif     /* C style interface */
  19123.  
  19124.  
  19125.  
  19126. HRESULT STDMETHODCALLTYPE IDVRGB219_SetRGB219_Proxy( 
  19127.     IDVRGB219 * This,
  19128.     /* [in] */ BOOL bState);
  19129.  
  19130.  
  19131. void __RPC_STUB IDVRGB219_SetRGB219_Stub(
  19132.     IRpcStubBuffer *This,
  19133.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19134.     PRPC_MESSAGE _pRpcMessage,
  19135.     DWORD *_pdwStubPhase);
  19136.  
  19137.  
  19138.  
  19139. #endif     /* __IDVRGB219_INTERFACE_DEFINED__ */
  19140.  
  19141.  
  19142. #ifndef __IDVSplitter_INTERFACE_DEFINED__
  19143. #define __IDVSplitter_INTERFACE_DEFINED__
  19144.  
  19145. /* interface IDVSplitter */
  19146. /* [uuid][object] */ 
  19147.  
  19148.  
  19149. EXTERN_C const IID IID_IDVSplitter;
  19150.  
  19151. #if defined(__cplusplus) && !defined(CINTERFACE)
  19152.     
  19153.     MIDL_INTERFACE("92a3a302-da7c-4a1f-ba7e-1802bb5d2d02")
  19154.     IDVSplitter : public IUnknown
  19155.     {
  19156.     public:
  19157.         virtual HRESULT STDMETHODCALLTYPE DiscardAlternateVideoFrames( 
  19158.             /* [in] */ int nDiscard) = 0;
  19159.         
  19160.     };
  19161.     
  19162. #else     /* C style interface */
  19163.  
  19164.     typedef struct IDVSplitterVtbl
  19165.     {
  19166.         BEGIN_INTERFACE
  19167.         
  19168.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19169.             IDVSplitter * This,
  19170.             /* [in] */ REFIID riid,
  19171.             /* [iid_is][out] */ void **ppvObject);
  19172.         
  19173.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19174.             IDVSplitter * This);
  19175.         
  19176.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19177.             IDVSplitter * This);
  19178.         
  19179.         HRESULT ( STDMETHODCALLTYPE *DiscardAlternateVideoFrames )( 
  19180.             IDVSplitter * This,
  19181.             /* [in] */ int nDiscard);
  19182.         
  19183.         END_INTERFACE
  19184.     } IDVSplitterVtbl;
  19185.  
  19186.     interface IDVSplitter
  19187.     {
  19188.         CONST_VTBL struct IDVSplitterVtbl *lpVtbl;
  19189.     };
  19190.  
  19191.     
  19192.  
  19193. #ifdef COBJMACROS
  19194.  
  19195.  
  19196. #define IDVSplitter_QueryInterface(This,riid,ppvObject)    \
  19197.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19198.  
  19199. #define IDVSplitter_AddRef(This)    \
  19200.     (This)->lpVtbl -> AddRef(This)
  19201.  
  19202. #define IDVSplitter_Release(This)    \
  19203.     (This)->lpVtbl -> Release(This)
  19204.  
  19205.  
  19206. #define IDVSplitter_DiscardAlternateVideoFrames(This,nDiscard)    \
  19207.     (This)->lpVtbl -> DiscardAlternateVideoFrames(This,nDiscard)
  19208.  
  19209. #endif /* COBJMACROS */
  19210.  
  19211.  
  19212. #endif     /* C style interface */
  19213.  
  19214.  
  19215.  
  19216. HRESULT STDMETHODCALLTYPE IDVSplitter_DiscardAlternateVideoFrames_Proxy( 
  19217.     IDVSplitter * This,
  19218.     /* [in] */ int nDiscard);
  19219.  
  19220.  
  19221. void __RPC_STUB IDVSplitter_DiscardAlternateVideoFrames_Stub(
  19222.     IRpcStubBuffer *This,
  19223.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19224.     PRPC_MESSAGE _pRpcMessage,
  19225.     DWORD *_pdwStubPhase);
  19226.  
  19227.  
  19228.  
  19229. #endif     /* __IDVSplitter_INTERFACE_DEFINED__ */
  19230.  
  19231.  
  19232. /* interface __MIDL_itf_strmif_0352 */
  19233. /* [local] */ 
  19234.  
  19235.  
  19236. enum _AM_AUDIO_RENDERER_STAT_PARAM
  19237.     {    AM_AUDREND_STAT_PARAM_BREAK_COUNT    = 1,
  19238.     AM_AUDREND_STAT_PARAM_SLAVE_MODE    = AM_AUDREND_STAT_PARAM_BREAK_COUNT + 1,
  19239.     AM_AUDREND_STAT_PARAM_SILENCE_DUR    = AM_AUDREND_STAT_PARAM_SLAVE_MODE + 1,
  19240.     AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR    = AM_AUDREND_STAT_PARAM_SILENCE_DUR + 1,
  19241.     AM_AUDREND_STAT_PARAM_DISCONTINUITIES    = AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR + 1,
  19242.     AM_AUDREND_STAT_PARAM_SLAVE_RATE    = AM_AUDREND_STAT_PARAM_DISCONTINUITIES + 1,
  19243.     AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR    = AM_AUDREND_STAT_PARAM_SLAVE_RATE + 1,
  19244.     AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR    = AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR + 1,
  19245.     AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR    = AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR + 1,
  19246.     AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR    = AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR + 1,
  19247.     AM_AUDREND_STAT_PARAM_BUFFERFULLNESS    = AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR + 1,
  19248.     AM_AUDREND_STAT_PARAM_JITTER    = AM_AUDREND_STAT_PARAM_BUFFERFULLNESS + 1
  19249.     } ;
  19250.  
  19251.  
  19252. extern RPC_IF_HANDLE __MIDL_itf_strmif_0352_v0_0_c_ifspec;
  19253. extern RPC_IF_HANDLE __MIDL_itf_strmif_0352_v0_0_s_ifspec;
  19254.  
  19255. #ifndef __IAMAudioRendererStats_INTERFACE_DEFINED__
  19256. #define __IAMAudioRendererStats_INTERFACE_DEFINED__
  19257.  
  19258. /* interface IAMAudioRendererStats */
  19259. /* [unique][uuid][object] */ 
  19260.  
  19261.  
  19262. EXTERN_C const IID IID_IAMAudioRendererStats;
  19263.  
  19264. #if defined(__cplusplus) && !defined(CINTERFACE)
  19265.     
  19266.     MIDL_INTERFACE("22320CB2-D41A-11d2-BF7C-D7CB9DF0BF93")
  19267.     IAMAudioRendererStats : public IUnknown
  19268.     {
  19269.     public:
  19270.         virtual HRESULT STDMETHODCALLTYPE GetStatParam( 
  19271.             /* [in] */ DWORD dwParam,
  19272.             /* [out] */ DWORD *pdwParam1,
  19273.             /* [out] */ DWORD *pdwParam2) = 0;
  19274.         
  19275.     };
  19276.     
  19277. #else     /* C style interface */
  19278.  
  19279.     typedef struct IAMAudioRendererStatsVtbl
  19280.     {
  19281.         BEGIN_INTERFACE
  19282.         
  19283.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19284.             IAMAudioRendererStats * This,
  19285.             /* [in] */ REFIID riid,
  19286.             /* [iid_is][out] */ void **ppvObject);
  19287.         
  19288.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19289.             IAMAudioRendererStats * This);
  19290.         
  19291.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19292.             IAMAudioRendererStats * This);
  19293.         
  19294.         HRESULT ( STDMETHODCALLTYPE *GetStatParam )( 
  19295.             IAMAudioRendererStats * This,
  19296.             /* [in] */ DWORD dwParam,
  19297.             /* [out] */ DWORD *pdwParam1,
  19298.             /* [out] */ DWORD *pdwParam2);
  19299.         
  19300.         END_INTERFACE
  19301.     } IAMAudioRendererStatsVtbl;
  19302.  
  19303.     interface IAMAudioRendererStats
  19304.     {
  19305.         CONST_VTBL struct IAMAudioRendererStatsVtbl *lpVtbl;
  19306.     };
  19307.  
  19308.     
  19309.  
  19310. #ifdef COBJMACROS
  19311.  
  19312.  
  19313. #define IAMAudioRendererStats_QueryInterface(This,riid,ppvObject)    \
  19314.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19315.  
  19316. #define IAMAudioRendererStats_AddRef(This)    \
  19317.     (This)->lpVtbl -> AddRef(This)
  19318.  
  19319. #define IAMAudioRendererStats_Release(This)    \
  19320.     (This)->lpVtbl -> Release(This)
  19321.  
  19322.  
  19323. #define IAMAudioRendererStats_GetStatParam(This,dwParam,pdwParam1,pdwParam2)    \
  19324.     (This)->lpVtbl -> GetStatParam(This,dwParam,pdwParam1,pdwParam2)
  19325.  
  19326. #endif /* COBJMACROS */
  19327.  
  19328.  
  19329. #endif     /* C style interface */
  19330.  
  19331.  
  19332.  
  19333. HRESULT STDMETHODCALLTYPE IAMAudioRendererStats_GetStatParam_Proxy( 
  19334.     IAMAudioRendererStats * This,
  19335.     /* [in] */ DWORD dwParam,
  19336.     /* [out] */ DWORD *pdwParam1,
  19337.     /* [out] */ DWORD *pdwParam2);
  19338.  
  19339.  
  19340. void __RPC_STUB IAMAudioRendererStats_GetStatParam_Stub(
  19341.     IRpcStubBuffer *This,
  19342.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19343.     PRPC_MESSAGE _pRpcMessage,
  19344.     DWORD *_pdwStubPhase);
  19345.  
  19346.  
  19347.  
  19348. #endif     /* __IAMAudioRendererStats_INTERFACE_DEFINED__ */
  19349.  
  19350.  
  19351. /* interface __MIDL_itf_strmif_0354 */
  19352. /* [local] */ 
  19353.  
  19354.  
  19355. enum _AM_INTF_SEARCH_FLAGS
  19356.     {    AM_INTF_SEARCH_INPUT_PIN    = 0x1,
  19357.     AM_INTF_SEARCH_OUTPUT_PIN    = 0x2,
  19358.     AM_INTF_SEARCH_FILTER    = 0x4
  19359.     } ;
  19360.  
  19361.  
  19362. extern RPC_IF_HANDLE __MIDL_itf_strmif_0354_v0_0_c_ifspec;
  19363. extern RPC_IF_HANDLE __MIDL_itf_strmif_0354_v0_0_s_ifspec;
  19364.  
  19365. #ifndef __IAMGraphStreams_INTERFACE_DEFINED__
  19366. #define __IAMGraphStreams_INTERFACE_DEFINED__
  19367.  
  19368. /* interface IAMGraphStreams */
  19369. /* [unique][uuid][object] */ 
  19370.  
  19371.  
  19372. EXTERN_C const IID IID_IAMGraphStreams;
  19373.  
  19374. #if defined(__cplusplus) && !defined(CINTERFACE)
  19375.     
  19376.     MIDL_INTERFACE("632105FA-072E-11d3-8AF9-00C04FB6BD3D")
  19377.     IAMGraphStreams : public IUnknown
  19378.     {
  19379.     public:
  19380.         virtual HRESULT STDMETHODCALLTYPE FindUpstreamInterface( 
  19381.             /* [in] */ IPin *pPin,
  19382.             /* [in] */ REFIID riid,
  19383.             /* [iid_is][out] */ void **ppvInterface,
  19384.             /* [in] */ DWORD dwFlags) = 0;
  19385.         
  19386.         virtual HRESULT STDMETHODCALLTYPE SyncUsingStreamOffset( 
  19387.             /* [in] */ BOOL bUseStreamOffset) = 0;
  19388.         
  19389.         virtual HRESULT STDMETHODCALLTYPE SetMaxGraphLatency( 
  19390.             /* [in] */ REFERENCE_TIME rtMaxGraphLatency) = 0;
  19391.         
  19392.     };
  19393.     
  19394. #else     /* C style interface */
  19395.  
  19396.     typedef struct IAMGraphStreamsVtbl
  19397.     {
  19398.         BEGIN_INTERFACE
  19399.         
  19400.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19401.             IAMGraphStreams * This,
  19402.             /* [in] */ REFIID riid,
  19403.             /* [iid_is][out] */ void **ppvObject);
  19404.         
  19405.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19406.             IAMGraphStreams * This);
  19407.         
  19408.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19409.             IAMGraphStreams * This);
  19410.         
  19411.         HRESULT ( STDMETHODCALLTYPE *FindUpstreamInterface )( 
  19412.             IAMGraphStreams * This,
  19413.             /* [in] */ IPin *pPin,
  19414.             /* [in] */ REFIID riid,
  19415.             /* [iid_is][out] */ void **ppvInterface,
  19416.             /* [in] */ DWORD dwFlags);
  19417.         
  19418.         HRESULT ( STDMETHODCALLTYPE *SyncUsingStreamOffset )( 
  19419.             IAMGraphStreams * This,
  19420.             /* [in] */ BOOL bUseStreamOffset);
  19421.         
  19422.         HRESULT ( STDMETHODCALLTYPE *SetMaxGraphLatency )( 
  19423.             IAMGraphStreams * This,
  19424.             /* [in] */ REFERENCE_TIME rtMaxGraphLatency);
  19425.         
  19426.         END_INTERFACE
  19427.     } IAMGraphStreamsVtbl;
  19428.  
  19429.     interface IAMGraphStreams
  19430.     {
  19431.         CONST_VTBL struct IAMGraphStreamsVtbl *lpVtbl;
  19432.     };
  19433.  
  19434.     
  19435.  
  19436. #ifdef COBJMACROS
  19437.  
  19438.  
  19439. #define IAMGraphStreams_QueryInterface(This,riid,ppvObject)    \
  19440.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19441.  
  19442. #define IAMGraphStreams_AddRef(This)    \
  19443.     (This)->lpVtbl -> AddRef(This)
  19444.  
  19445. #define IAMGraphStreams_Release(This)    \
  19446.     (This)->lpVtbl -> Release(This)
  19447.  
  19448.  
  19449. #define IAMGraphStreams_FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags)    \
  19450.     (This)->lpVtbl -> FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags)
  19451.  
  19452. #define IAMGraphStreams_SyncUsingStreamOffset(This,bUseStreamOffset)    \
  19453.     (This)->lpVtbl -> SyncUsingStreamOffset(This,bUseStreamOffset)
  19454.  
  19455. #define IAMGraphStreams_SetMaxGraphLatency(This,rtMaxGraphLatency)    \
  19456.     (This)->lpVtbl -> SetMaxGraphLatency(This,rtMaxGraphLatency)
  19457.  
  19458. #endif /* COBJMACROS */
  19459.  
  19460.  
  19461. #endif     /* C style interface */
  19462.  
  19463.  
  19464.  
  19465. HRESULT STDMETHODCALLTYPE IAMGraphStreams_FindUpstreamInterface_Proxy( 
  19466.     IAMGraphStreams * This,
  19467.     /* [in] */ IPin *pPin,
  19468.     /* [in] */ REFIID riid,
  19469.     /* [iid_is][out] */ void **ppvInterface,
  19470.     /* [in] */ DWORD dwFlags);
  19471.  
  19472.  
  19473. void __RPC_STUB IAMGraphStreams_FindUpstreamInterface_Stub(
  19474.     IRpcStubBuffer *This,
  19475.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19476.     PRPC_MESSAGE _pRpcMessage,
  19477.     DWORD *_pdwStubPhase);
  19478.  
  19479.  
  19480. HRESULT STDMETHODCALLTYPE IAMGraphStreams_SyncUsingStreamOffset_Proxy( 
  19481.     IAMGraphStreams * This,
  19482.     /* [in] */ BOOL bUseStreamOffset);
  19483.  
  19484.  
  19485. void __RPC_STUB IAMGraphStreams_SyncUsingStreamOffset_Stub(
  19486.     IRpcStubBuffer *This,
  19487.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19488.     PRPC_MESSAGE _pRpcMessage,
  19489.     DWORD *_pdwStubPhase);
  19490.  
  19491.  
  19492. HRESULT STDMETHODCALLTYPE IAMGraphStreams_SetMaxGraphLatency_Proxy( 
  19493.     IAMGraphStreams * This,
  19494.     /* [in] */ REFERENCE_TIME rtMaxGraphLatency);
  19495.  
  19496.  
  19497. void __RPC_STUB IAMGraphStreams_SetMaxGraphLatency_Stub(
  19498.     IRpcStubBuffer *This,
  19499.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19500.     PRPC_MESSAGE _pRpcMessage,
  19501.     DWORD *_pdwStubPhase);
  19502.  
  19503.  
  19504.  
  19505. #endif     /* __IAMGraphStreams_INTERFACE_DEFINED__ */
  19506.  
  19507.  
  19508. /* interface __MIDL_itf_strmif_0355 */
  19509. /* [local] */ 
  19510.  
  19511.  
  19512. enum AMOVERLAYFX
  19513.     {    AMOVERFX_NOFX    = 0,
  19514.     AMOVERFX_MIRRORLEFTRIGHT    = 0x2,
  19515.     AMOVERFX_MIRRORUPDOWN    = 0x4,
  19516.     AMOVERFX_DEINTERLACE    = 0x8
  19517.     } ;
  19518.  
  19519.  
  19520. extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_c_ifspec;
  19521. extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_s_ifspec;
  19522.  
  19523. #ifndef __IAMOverlayFX_INTERFACE_DEFINED__
  19524. #define __IAMOverlayFX_INTERFACE_DEFINED__
  19525.  
  19526. /* interface IAMOverlayFX */
  19527. /* [unique][uuid][object] */ 
  19528.  
  19529.  
  19530. EXTERN_C const IID IID_IAMOverlayFX;
  19531.  
  19532. #if defined(__cplusplus) && !defined(CINTERFACE)
  19533.     
  19534.     MIDL_INTERFACE("62fae250-7e65-4460-bfc9-6398b322073c")
  19535.     IAMOverlayFX : public IUnknown
  19536.     {
  19537.     public:
  19538.         virtual HRESULT STDMETHODCALLTYPE QueryOverlayFXCaps( 
  19539.             /* [out] */ DWORD *lpdwOverlayFXCaps) = 0;
  19540.         
  19541.         virtual HRESULT STDMETHODCALLTYPE SetOverlayFX( 
  19542.             /* [in] */ DWORD dwOverlayFX) = 0;
  19543.         
  19544.         virtual HRESULT STDMETHODCALLTYPE GetOverlayFX( 
  19545.             /* [out] */ DWORD *lpdwOverlayFX) = 0;
  19546.         
  19547.     };
  19548.     
  19549. #else     /* C style interface */
  19550.  
  19551.     typedef struct IAMOverlayFXVtbl
  19552.     {
  19553.         BEGIN_INTERFACE
  19554.         
  19555.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19556.             IAMOverlayFX * This,
  19557.             /* [in] */ REFIID riid,
  19558.             /* [iid_is][out] */ void **ppvObject);
  19559.         
  19560.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19561.             IAMOverlayFX * This);
  19562.         
  19563.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19564.             IAMOverlayFX * This);
  19565.         
  19566.         HRESULT ( STDMETHODCALLTYPE *QueryOverlayFXCaps )( 
  19567.             IAMOverlayFX * This,
  19568.             /* [out] */ DWORD *lpdwOverlayFXCaps);
  19569.         
  19570.         HRESULT ( STDMETHODCALLTYPE *SetOverlayFX )( 
  19571.             IAMOverlayFX * This,
  19572.             /* [in] */ DWORD dwOverlayFX);
  19573.         
  19574.         HRESULT ( STDMETHODCALLTYPE *GetOverlayFX )( 
  19575.             IAMOverlayFX * This,
  19576.             /* [out] */ DWORD *lpdwOverlayFX);
  19577.         
  19578.         END_INTERFACE
  19579.     } IAMOverlayFXVtbl;
  19580.  
  19581.     interface IAMOverlayFX
  19582.     {
  19583.         CONST_VTBL struct IAMOverlayFXVtbl *lpVtbl;
  19584.     };
  19585.  
  19586.     
  19587.  
  19588. #ifdef COBJMACROS
  19589.  
  19590.  
  19591. #define IAMOverlayFX_QueryInterface(This,riid,ppvObject)    \
  19592.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19593.  
  19594. #define IAMOverlayFX_AddRef(This)    \
  19595.     (This)->lpVtbl -> AddRef(This)
  19596.  
  19597. #define IAMOverlayFX_Release(This)    \
  19598.     (This)->lpVtbl -> Release(This)
  19599.  
  19600.  
  19601. #define IAMOverlayFX_QueryOverlayFXCaps(This,lpdwOverlayFXCaps)    \
  19602.     (This)->lpVtbl -> QueryOverlayFXCaps(This,lpdwOverlayFXCaps)
  19603.  
  19604. #define IAMOverlayFX_SetOverlayFX(This,dwOverlayFX)    \
  19605.     (This)->lpVtbl -> SetOverlayFX(This,dwOverlayFX)
  19606.  
  19607. #define IAMOverlayFX_GetOverlayFX(This,lpdwOverlayFX)    \
  19608.     (This)->lpVtbl -> GetOverlayFX(This,lpdwOverlayFX)
  19609.  
  19610. #endif /* COBJMACROS */
  19611.  
  19612.  
  19613. #endif     /* C style interface */
  19614.  
  19615.  
  19616.  
  19617. HRESULT STDMETHODCALLTYPE IAMOverlayFX_QueryOverlayFXCaps_Proxy( 
  19618.     IAMOverlayFX * This,
  19619.     /* [out] */ DWORD *lpdwOverlayFXCaps);
  19620.  
  19621.  
  19622. void __RPC_STUB IAMOverlayFX_QueryOverlayFXCaps_Stub(
  19623.     IRpcStubBuffer *This,
  19624.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19625.     PRPC_MESSAGE _pRpcMessage,
  19626.     DWORD *_pdwStubPhase);
  19627.  
  19628.  
  19629. HRESULT STDMETHODCALLTYPE IAMOverlayFX_SetOverlayFX_Proxy( 
  19630.     IAMOverlayFX * This,
  19631.     /* [in] */ DWORD dwOverlayFX);
  19632.  
  19633.  
  19634. void __RPC_STUB IAMOverlayFX_SetOverlayFX_Stub(
  19635.     IRpcStubBuffer *This,
  19636.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19637.     PRPC_MESSAGE _pRpcMessage,
  19638.     DWORD *_pdwStubPhase);
  19639.  
  19640.  
  19641. HRESULT STDMETHODCALLTYPE IAMOverlayFX_GetOverlayFX_Proxy( 
  19642.     IAMOverlayFX * This,
  19643.     /* [out] */ DWORD *lpdwOverlayFX);
  19644.  
  19645.  
  19646. void __RPC_STUB IAMOverlayFX_GetOverlayFX_Stub(
  19647.     IRpcStubBuffer *This,
  19648.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19649.     PRPC_MESSAGE _pRpcMessage,
  19650.     DWORD *_pdwStubPhase);
  19651.  
  19652.  
  19653.  
  19654. #endif     /* __IAMOverlayFX_INTERFACE_DEFINED__ */
  19655.  
  19656.  
  19657. #ifndef __IAMOpenProgress_INTERFACE_DEFINED__
  19658. #define __IAMOpenProgress_INTERFACE_DEFINED__
  19659.  
  19660. /* interface IAMOpenProgress */
  19661. /* [unique][uuid][object] */ 
  19662.  
  19663.  
  19664. EXTERN_C const IID IID_IAMOpenProgress;
  19665.  
  19666. #if defined(__cplusplus) && !defined(CINTERFACE)
  19667.     
  19668.     MIDL_INTERFACE("8E1C39A1-DE53-11cf-AA63-0080C744528D")
  19669.     IAMOpenProgress : public IUnknown
  19670.     {
  19671.     public:
  19672.         virtual HRESULT STDMETHODCALLTYPE QueryProgress( 
  19673.             /* [out] */ LONGLONG *pllTotal,
  19674.             /* [out] */ LONGLONG *pllCurrent) = 0;
  19675.         
  19676.         virtual HRESULT STDMETHODCALLTYPE AbortOperation( void) = 0;
  19677.         
  19678.     };
  19679.     
  19680. #else     /* C style interface */
  19681.  
  19682.     typedef struct IAMOpenProgressVtbl
  19683.     {
  19684.         BEGIN_INTERFACE
  19685.         
  19686.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19687.             IAMOpenProgress * This,
  19688.             /* [in] */ REFIID riid,
  19689.             /* [iid_is][out] */ void **ppvObject);
  19690.         
  19691.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19692.             IAMOpenProgress * This);
  19693.         
  19694.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19695.             IAMOpenProgress * This);
  19696.         
  19697.         HRESULT ( STDMETHODCALLTYPE *QueryProgress )( 
  19698.             IAMOpenProgress * This,
  19699.             /* [out] */ LONGLONG *pllTotal,
  19700.             /* [out] */ LONGLONG *pllCurrent);
  19701.         
  19702.         HRESULT ( STDMETHODCALLTYPE *AbortOperation )( 
  19703.             IAMOpenProgress * This);
  19704.         
  19705.         END_INTERFACE
  19706.     } IAMOpenProgressVtbl;
  19707.  
  19708.     interface IAMOpenProgress
  19709.     {
  19710.         CONST_VTBL struct IAMOpenProgressVtbl *lpVtbl;
  19711.     };
  19712.  
  19713.     
  19714.  
  19715. #ifdef COBJMACROS
  19716.  
  19717.  
  19718. #define IAMOpenProgress_QueryInterface(This,riid,ppvObject)    \
  19719.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19720.  
  19721. #define IAMOpenProgress_AddRef(This)    \
  19722.     (This)->lpVtbl -> AddRef(This)
  19723.  
  19724. #define IAMOpenProgress_Release(This)    \
  19725.     (This)->lpVtbl -> Release(This)
  19726.  
  19727.  
  19728. #define IAMOpenProgress_QueryProgress(This,pllTotal,pllCurrent)    \
  19729.     (This)->lpVtbl -> QueryProgress(This,pllTotal,pllCurrent)
  19730.  
  19731. #define IAMOpenProgress_AbortOperation(This)    \
  19732.     (This)->lpVtbl -> AbortOperation(This)
  19733.  
  19734. #endif /* COBJMACROS */
  19735.  
  19736.  
  19737. #endif     /* C style interface */
  19738.  
  19739.  
  19740.  
  19741. HRESULT STDMETHODCALLTYPE IAMOpenProgress_QueryProgress_Proxy( 
  19742.     IAMOpenProgress * This,
  19743.     /* [out] */ LONGLONG *pllTotal,
  19744.     /* [out] */ LONGLONG *pllCurrent);
  19745.  
  19746.  
  19747. void __RPC_STUB IAMOpenProgress_QueryProgress_Stub(
  19748.     IRpcStubBuffer *This,
  19749.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19750.     PRPC_MESSAGE _pRpcMessage,
  19751.     DWORD *_pdwStubPhase);
  19752.  
  19753.  
  19754. HRESULT STDMETHODCALLTYPE IAMOpenProgress_AbortOperation_Proxy( 
  19755.     IAMOpenProgress * This);
  19756.  
  19757.  
  19758. void __RPC_STUB IAMOpenProgress_AbortOperation_Stub(
  19759.     IRpcStubBuffer *This,
  19760.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19761.     PRPC_MESSAGE _pRpcMessage,
  19762.     DWORD *_pdwStubPhase);
  19763.  
  19764.  
  19765.  
  19766. #endif     /* __IAMOpenProgress_INTERFACE_DEFINED__ */
  19767.  
  19768.  
  19769. #ifndef __IMpeg2Demultiplexer_INTERFACE_DEFINED__
  19770. #define __IMpeg2Demultiplexer_INTERFACE_DEFINED__
  19771.  
  19772. /* interface IMpeg2Demultiplexer */
  19773. /* [unique][uuid][local][object] */ 
  19774.  
  19775.  
  19776. EXTERN_C const IID IID_IMpeg2Demultiplexer;
  19777.  
  19778. #if defined(__cplusplus) && !defined(CINTERFACE)
  19779.     
  19780.     MIDL_INTERFACE("436eee9c-264f-4242-90e1-4e330c107512")
  19781.     IMpeg2Demultiplexer : public IUnknown
  19782.     {
  19783.     public:
  19784.         virtual HRESULT STDMETHODCALLTYPE CreateOutputPin( 
  19785.             /* [in] */ AM_MEDIA_TYPE *pMediaType,
  19786.             /* [in] */ LPWSTR pszPinName,
  19787.             /* [out] */ IPin **ppIPin) = 0;
  19788.         
  19789.         virtual HRESULT STDMETHODCALLTYPE SetOutputPinMediaType( 
  19790.             /* [in] */ LPWSTR pszPinName,
  19791.             /* [in] */ AM_MEDIA_TYPE *pMediaType) = 0;
  19792.         
  19793.         virtual HRESULT STDMETHODCALLTYPE DeleteOutputPin( 
  19794.             /* [in] */ LPWSTR pszPinName) = 0;
  19795.         
  19796.     };
  19797.     
  19798. #else     /* C style interface */
  19799.  
  19800.     typedef struct IMpeg2DemultiplexerVtbl
  19801.     {
  19802.         BEGIN_INTERFACE
  19803.         
  19804.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19805.             IMpeg2Demultiplexer * This,
  19806.             /* [in] */ REFIID riid,
  19807.             /* [iid_is][out] */ void **ppvObject);
  19808.         
  19809.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19810.             IMpeg2Demultiplexer * This);
  19811.         
  19812.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19813.             IMpeg2Demultiplexer * This);
  19814.         
  19815.         HRESULT ( STDMETHODCALLTYPE *CreateOutputPin )( 
  19816.             IMpeg2Demultiplexer * This,
  19817.             /* [in] */ AM_MEDIA_TYPE *pMediaType,
  19818.             /* [in] */ LPWSTR pszPinName,
  19819.             /* [out] */ IPin **ppIPin);
  19820.         
  19821.         HRESULT ( STDMETHODCALLTYPE *SetOutputPinMediaType )( 
  19822.             IMpeg2Demultiplexer * This,
  19823.             /* [in] */ LPWSTR pszPinName,
  19824.             /* [in] */ AM_MEDIA_TYPE *pMediaType);
  19825.         
  19826.         HRESULT ( STDMETHODCALLTYPE *DeleteOutputPin )( 
  19827.             IMpeg2Demultiplexer * This,
  19828.             /* [in] */ LPWSTR pszPinName);
  19829.         
  19830.         END_INTERFACE
  19831.     } IMpeg2DemultiplexerVtbl;
  19832.  
  19833.     interface IMpeg2Demultiplexer
  19834.     {
  19835.         CONST_VTBL struct IMpeg2DemultiplexerVtbl *lpVtbl;
  19836.     };
  19837.  
  19838.     
  19839.  
  19840. #ifdef COBJMACROS
  19841.  
  19842.  
  19843. #define IMpeg2Demultiplexer_QueryInterface(This,riid,ppvObject)    \
  19844.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19845.  
  19846. #define IMpeg2Demultiplexer_AddRef(This)    \
  19847.     (This)->lpVtbl -> AddRef(This)
  19848.  
  19849. #define IMpeg2Demultiplexer_Release(This)    \
  19850.     (This)->lpVtbl -> Release(This)
  19851.  
  19852.  
  19853. #define IMpeg2Demultiplexer_CreateOutputPin(This,pMediaType,pszPinName,ppIPin)    \
  19854.     (This)->lpVtbl -> CreateOutputPin(This,pMediaType,pszPinName,ppIPin)
  19855.  
  19856. #define IMpeg2Demultiplexer_SetOutputPinMediaType(This,pszPinName,pMediaType)    \
  19857.     (This)->lpVtbl -> SetOutputPinMediaType(This,pszPinName,pMediaType)
  19858.  
  19859. #define IMpeg2Demultiplexer_DeleteOutputPin(This,pszPinName)    \
  19860.     (This)->lpVtbl -> DeleteOutputPin(This,pszPinName)
  19861.  
  19862. #endif /* COBJMACROS */
  19863.  
  19864.  
  19865. #endif     /* C style interface */
  19866.  
  19867.  
  19868.  
  19869. HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_CreateOutputPin_Proxy( 
  19870.     IMpeg2Demultiplexer * This,
  19871.     /* [in] */ AM_MEDIA_TYPE *pMediaType,
  19872.     /* [in] */ LPWSTR pszPinName,
  19873.     /* [out] */ IPin **ppIPin);
  19874.  
  19875.  
  19876. void __RPC_STUB IMpeg2Demultiplexer_CreateOutputPin_Stub(
  19877.     IRpcStubBuffer *This,
  19878.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19879.     PRPC_MESSAGE _pRpcMessage,
  19880.     DWORD *_pdwStubPhase);
  19881.  
  19882.  
  19883. HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_SetOutputPinMediaType_Proxy( 
  19884.     IMpeg2Demultiplexer * This,
  19885.     /* [in] */ LPWSTR pszPinName,
  19886.     /* [in] */ AM_MEDIA_TYPE *pMediaType);
  19887.  
  19888.  
  19889. void __RPC_STUB IMpeg2Demultiplexer_SetOutputPinMediaType_Stub(
  19890.     IRpcStubBuffer *This,
  19891.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19892.     PRPC_MESSAGE _pRpcMessage,
  19893.     DWORD *_pdwStubPhase);
  19894.  
  19895.  
  19896. HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_DeleteOutputPin_Proxy( 
  19897.     IMpeg2Demultiplexer * This,
  19898.     /* [in] */ LPWSTR pszPinName);
  19899.  
  19900.  
  19901. void __RPC_STUB IMpeg2Demultiplexer_DeleteOutputPin_Stub(
  19902.     IRpcStubBuffer *This,
  19903.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19904.     PRPC_MESSAGE _pRpcMessage,
  19905.     DWORD *_pdwStubPhase);
  19906.  
  19907.  
  19908.  
  19909. #endif     /* __IMpeg2Demultiplexer_INTERFACE_DEFINED__ */
  19910.  
  19911.  
  19912. /* interface __MIDL_itf_strmif_0358 */
  19913. /* [local] */ 
  19914.  
  19915. #define MPEG2_PROGRAM_STREAM_MAP                 0x00000000
  19916. #define MPEG2_PROGRAM_ELEMENTARY_STREAM          0x00000001
  19917. #define MPEG2_PROGRAM_DIRECTORY_PES_PACKET       0x00000002
  19918. #define MPEG2_PROGRAM_PACK_HEADER                0x00000003
  19919. #define MPEG2_PROGRAM_PES_STREAM                 0x00000004
  19920. #define MPEG2_PROGRAM_SYSTEM_HEADER              0x00000005
  19921. #define SUBSTREAM_FILTER_VAL_NONE                0x10000000
  19922. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0358_0001
  19923.     {
  19924.     ULONG stream_id;
  19925.     DWORD dwMediaSampleContent;
  19926.     ULONG ulSubstreamFilterValue;
  19927.     int iDataOffset;
  19928.     }     STREAM_ID_MAP;
  19929.  
  19930.  
  19931.  
  19932. extern RPC_IF_HANDLE __MIDL_itf_strmif_0358_v0_0_c_ifspec;
  19933. extern RPC_IF_HANDLE __MIDL_itf_strmif_0358_v0_0_s_ifspec;
  19934.  
  19935. #ifndef __IEnumStreamIdMap_INTERFACE_DEFINED__
  19936. #define __IEnumStreamIdMap_INTERFACE_DEFINED__
  19937.  
  19938. /* interface IEnumStreamIdMap */
  19939. /* [unique][uuid][local][object] */ 
  19940.  
  19941.  
  19942. EXTERN_C const IID IID_IEnumStreamIdMap;
  19943.  
  19944. #if defined(__cplusplus) && !defined(CINTERFACE)
  19945.     
  19946.     MIDL_INTERFACE("945C1566-6202-46fc-96C7-D87F289C6534")
  19947.     IEnumStreamIdMap : public IUnknown
  19948.     {
  19949.     public:
  19950.         virtual HRESULT STDMETHODCALLTYPE Next( 
  19951.             /* [in] */ ULONG cRequest,
  19952.             /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,
  19953.             /* [out] */ ULONG *pcReceived) = 0;
  19954.         
  19955.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  19956.             /* [in] */ ULONG cRecords) = 0;
  19957.         
  19958.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  19959.         
  19960.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  19961.             /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
  19962.         
  19963.     };
  19964.     
  19965. #else     /* C style interface */
  19966.  
  19967.     typedef struct IEnumStreamIdMapVtbl
  19968.     {
  19969.         BEGIN_INTERFACE
  19970.         
  19971.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19972.             IEnumStreamIdMap * This,
  19973.             /* [in] */ REFIID riid,
  19974.             /* [iid_is][out] */ void **ppvObject);
  19975.         
  19976.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19977.             IEnumStreamIdMap * This);
  19978.         
  19979.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19980.             IEnumStreamIdMap * This);
  19981.         
  19982.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  19983.             IEnumStreamIdMap * This,
  19984.             /* [in] */ ULONG cRequest,
  19985.             /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,
  19986.             /* [out] */ ULONG *pcReceived);
  19987.         
  19988.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  19989.             IEnumStreamIdMap * This,
  19990.             /* [in] */ ULONG cRecords);
  19991.         
  19992.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  19993.             IEnumStreamIdMap * This);
  19994.         
  19995.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  19996.             IEnumStreamIdMap * This,
  19997.             /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  19998.         
  19999.         END_INTERFACE
  20000.     } IEnumStreamIdMapVtbl;
  20001.  
  20002.     interface IEnumStreamIdMap
  20003.     {
  20004.         CONST_VTBL struct IEnumStreamIdMapVtbl *lpVtbl;
  20005.     };
  20006.  
  20007.     
  20008.  
  20009. #ifdef COBJMACROS
  20010.  
  20011.  
  20012. #define IEnumStreamIdMap_QueryInterface(This,riid,ppvObject)    \
  20013.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20014.  
  20015. #define IEnumStreamIdMap_AddRef(This)    \
  20016.     (This)->lpVtbl -> AddRef(This)
  20017.  
  20018. #define IEnumStreamIdMap_Release(This)    \
  20019.     (This)->lpVtbl -> Release(This)
  20020.  
  20021.  
  20022. #define IEnumStreamIdMap_Next(This,cRequest,pStreamIdMap,pcReceived)    \
  20023.     (This)->lpVtbl -> Next(This,cRequest,pStreamIdMap,pcReceived)
  20024.  
  20025. #define IEnumStreamIdMap_Skip(This,cRecords)    \
  20026.     (This)->lpVtbl -> Skip(This,cRecords)
  20027.  
  20028. #define IEnumStreamIdMap_Reset(This)    \
  20029.     (This)->lpVtbl -> Reset(This)
  20030.  
  20031. #define IEnumStreamIdMap_Clone(This,ppIEnumStreamIdMap)    \
  20032.     (This)->lpVtbl -> Clone(This,ppIEnumStreamIdMap)
  20033.  
  20034. #endif /* COBJMACROS */
  20035.  
  20036.  
  20037. #endif     /* C style interface */
  20038.  
  20039.  
  20040.  
  20041. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Next_Proxy( 
  20042.     IEnumStreamIdMap * This,
  20043.     /* [in] */ ULONG cRequest,
  20044.     /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,
  20045.     /* [out] */ ULONG *pcReceived);
  20046.  
  20047.  
  20048. void __RPC_STUB IEnumStreamIdMap_Next_Stub(
  20049.     IRpcStubBuffer *This,
  20050.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20051.     PRPC_MESSAGE _pRpcMessage,
  20052.     DWORD *_pdwStubPhase);
  20053.  
  20054.  
  20055. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Skip_Proxy( 
  20056.     IEnumStreamIdMap * This,
  20057.     /* [in] */ ULONG cRecords);
  20058.  
  20059.  
  20060. void __RPC_STUB IEnumStreamIdMap_Skip_Stub(
  20061.     IRpcStubBuffer *This,
  20062.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20063.     PRPC_MESSAGE _pRpcMessage,
  20064.     DWORD *_pdwStubPhase);
  20065.  
  20066.  
  20067. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Reset_Proxy( 
  20068.     IEnumStreamIdMap * This);
  20069.  
  20070.  
  20071. void __RPC_STUB IEnumStreamIdMap_Reset_Stub(
  20072.     IRpcStubBuffer *This,
  20073.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20074.     PRPC_MESSAGE _pRpcMessage,
  20075.     DWORD *_pdwStubPhase);
  20076.  
  20077.  
  20078. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Clone_Proxy( 
  20079.     IEnumStreamIdMap * This,
  20080.     /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  20081.  
  20082.  
  20083. void __RPC_STUB IEnumStreamIdMap_Clone_Stub(
  20084.     IRpcStubBuffer *This,
  20085.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20086.     PRPC_MESSAGE _pRpcMessage,
  20087.     DWORD *_pdwStubPhase);
  20088.  
  20089.  
  20090.  
  20091. #endif     /* __IEnumStreamIdMap_INTERFACE_DEFINED__ */
  20092.  
  20093.  
  20094. #ifndef __IMPEG2StreamIdMap_INTERFACE_DEFINED__
  20095. #define __IMPEG2StreamIdMap_INTERFACE_DEFINED__
  20096.  
  20097. /* interface IMPEG2StreamIdMap */
  20098. /* [unique][uuid][local][object] */ 
  20099.  
  20100.  
  20101. EXTERN_C const IID IID_IMPEG2StreamIdMap;
  20102.  
  20103. #if defined(__cplusplus) && !defined(CINTERFACE)
  20104.     
  20105.     MIDL_INTERFACE("D0E04C47-25B8-4369-925A-362A01D95444")
  20106.     IMPEG2StreamIdMap : public IUnknown
  20107.     {
  20108.     public:
  20109.         virtual HRESULT STDMETHODCALLTYPE MapStreamId( 
  20110.             /* [in] */ ULONG ulStreamId,
  20111.             /* [in] */ DWORD MediaSampleContent,
  20112.             /* [in] */ ULONG ulSubstreamFilterValue,
  20113.             /* [in] */ int iDataOffset) = 0;
  20114.         
  20115.         virtual HRESULT STDMETHODCALLTYPE UnmapStreamId( 
  20116.             /* [in] */ ULONG culStreamId,
  20117.             /* [in] */ ULONG *pulStreamId) = 0;
  20118.         
  20119.         virtual HRESULT STDMETHODCALLTYPE EnumStreamIdMap( 
  20120.             /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
  20121.         
  20122.     };
  20123.     
  20124. #else     /* C style interface */
  20125.  
  20126.     typedef struct IMPEG2StreamIdMapVtbl
  20127.     {
  20128.         BEGIN_INTERFACE
  20129.         
  20130.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  20131.             IMPEG2StreamIdMap * This,
  20132.             /* [in] */ REFIID riid,
  20133.             /* [iid_is][out] */ void **ppvObject);
  20134.         
  20135.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  20136.             IMPEG2StreamIdMap * This);
  20137.         
  20138.         ULONG ( STDMETHODCALLTYPE *Release )( 
  20139.             IMPEG2StreamIdMap * This);
  20140.         
  20141.         HRESULT ( STDMETHODCALLTYPE *MapStreamId )( 
  20142.             IMPEG2StreamIdMap * This,
  20143.             /* [in] */ ULONG ulStreamId,
  20144.             /* [in] */ DWORD MediaSampleContent,
  20145.             /* [in] */ ULONG ulSubstreamFilterValue,
  20146.             /* [in] */ int iDataOffset);
  20147.         
  20148.         HRESULT ( STDMETHODCALLTYPE *UnmapStreamId )( 
  20149.             IMPEG2StreamIdMap * This,
  20150.             /* [in] */ ULONG culStreamId,
  20151.             /* [in] */ ULONG *pulStreamId);
  20152.         
  20153.         HRESULT ( STDMETHODCALLTYPE *EnumStreamIdMap )( 
  20154.             IMPEG2StreamIdMap * This,
  20155.             /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  20156.         
  20157.         END_INTERFACE
  20158.     } IMPEG2StreamIdMapVtbl;
  20159.  
  20160.     interface IMPEG2StreamIdMap
  20161.     {
  20162.         CONST_VTBL struct IMPEG2StreamIdMapVtbl *lpVtbl;
  20163.     };
  20164.  
  20165.     
  20166.  
  20167. #ifdef COBJMACROS
  20168.  
  20169.  
  20170. #define IMPEG2StreamIdMap_QueryInterface(This,riid,ppvObject)    \
  20171.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20172.  
  20173. #define IMPEG2StreamIdMap_AddRef(This)    \
  20174.     (This)->lpVtbl -> AddRef(This)
  20175.  
  20176. #define IMPEG2StreamIdMap_Release(This)    \
  20177.     (This)->lpVtbl -> Release(This)
  20178.  
  20179.  
  20180. #define IMPEG2StreamIdMap_MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset)    \
  20181.     (This)->lpVtbl -> MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset)
  20182.  
  20183. #define IMPEG2StreamIdMap_UnmapStreamId(This,culStreamId,pulStreamId)    \
  20184.     (This)->lpVtbl -> UnmapStreamId(This,culStreamId,pulStreamId)
  20185.  
  20186. #define IMPEG2StreamIdMap_EnumStreamIdMap(This,ppIEnumStreamIdMap)    \
  20187.     (This)->lpVtbl -> EnumStreamIdMap(This,ppIEnumStreamIdMap)
  20188.  
  20189. #endif /* COBJMACROS */
  20190.  
  20191.  
  20192. #endif     /* C style interface */
  20193.  
  20194.  
  20195.  
  20196. HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_MapStreamId_Proxy( 
  20197.     IMPEG2StreamIdMap * This,
  20198.     /* [in] */ ULONG ulStreamId,
  20199.     /* [in] */ DWORD MediaSampleContent,
  20200.     /* [in] */ ULONG ulSubstreamFilterValue,
  20201.     /* [in] */ int iDataOffset);
  20202.  
  20203.  
  20204. void __RPC_STUB IMPEG2StreamIdMap_MapStreamId_Stub(
  20205.     IRpcStubBuffer *This,
  20206.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20207.     PRPC_MESSAGE _pRpcMessage,
  20208.     DWORD *_pdwStubPhase);
  20209.  
  20210.  
  20211. HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_UnmapStreamId_Proxy( 
  20212.     IMPEG2StreamIdMap * This,
  20213.     /* [in] */ ULONG culStreamId,
  20214.     /* [in] */ ULONG *pulStreamId);
  20215.  
  20216.  
  20217. void __RPC_STUB IMPEG2StreamIdMap_UnmapStreamId_Stub(
  20218.     IRpcStubBuffer *This,
  20219.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20220.     PRPC_MESSAGE _pRpcMessage,
  20221.     DWORD *_pdwStubPhase);
  20222.  
  20223.  
  20224. HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_EnumStreamIdMap_Proxy( 
  20225.     IMPEG2StreamIdMap * This,
  20226.     /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  20227.  
  20228.  
  20229. void __RPC_STUB IMPEG2StreamIdMap_EnumStreamIdMap_Stub(
  20230.     IRpcStubBuffer *This,
  20231.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20232.     PRPC_MESSAGE _pRpcMessage,
  20233.     DWORD *_pdwStubPhase);
  20234.  
  20235.  
  20236.  
  20237. #endif     /* __IMPEG2StreamIdMap_INTERFACE_DEFINED__ */
  20238.  
  20239.  
  20240. #ifndef __IRegisterServiceProvider_INTERFACE_DEFINED__
  20241. #define __IRegisterServiceProvider_INTERFACE_DEFINED__
  20242.  
  20243. /* interface IRegisterServiceProvider */
  20244. /* [unique][uuid][local][object] */ 
  20245.  
  20246.  
  20247. EXTERN_C const IID IID_IRegisterServiceProvider;
  20248.  
  20249. #if defined(__cplusplus) && !defined(CINTERFACE)
  20250.     
  20251.     MIDL_INTERFACE("7B3A2F01-0751-48DD-B556-004785171C54")
  20252.     IRegisterServiceProvider : public IUnknown
  20253.     {
  20254.     public:
  20255.         virtual HRESULT STDMETHODCALLTYPE RegisterService( 
  20256.             /* [in] */ REFGUID guidService,
  20257.             /* [in] */ IUnknown *pUnkObject) = 0;
  20258.         
  20259.     };
  20260.     
  20261. #else     /* C style interface */
  20262.  
  20263.     typedef struct IRegisterServiceProviderVtbl
  20264.     {
  20265.         BEGIN_INTERFACE
  20266.         
  20267.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  20268.             IRegisterServiceProvider * This,
  20269.             /* [in] */ REFIID riid,
  20270.             /* [iid_is][out] */ void **ppvObject);
  20271.         
  20272.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  20273.             IRegisterServiceProvider * This);
  20274.         
  20275.         ULONG ( STDMETHODCALLTYPE *Release )( 
  20276.             IRegisterServiceProvider * This);
  20277.         
  20278.         HRESULT ( STDMETHODCALLTYPE *RegisterService )( 
  20279.             IRegisterServiceProvider * This,
  20280.             /* [in] */ REFGUID guidService,
  20281.             /* [in] */ IUnknown *pUnkObject);
  20282.         
  20283.         END_INTERFACE
  20284.     } IRegisterServiceProviderVtbl;
  20285.  
  20286.     interface IRegisterServiceProvider
  20287.     {
  20288.         CONST_VTBL struct IRegisterServiceProviderVtbl *lpVtbl;
  20289.     };
  20290.  
  20291.     
  20292.  
  20293. #ifdef COBJMACROS
  20294.  
  20295.  
  20296. #define IRegisterServiceProvider_QueryInterface(This,riid,ppvObject)    \
  20297.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20298.  
  20299. #define IRegisterServiceProvider_AddRef(This)    \
  20300.     (This)->lpVtbl -> AddRef(This)
  20301.  
  20302. #define IRegisterServiceProvider_Release(This)    \
  20303.     (This)->lpVtbl -> Release(This)
  20304.  
  20305.  
  20306. #define IRegisterServiceProvider_RegisterService(This,guidService,pUnkObject)    \
  20307.     (This)->lpVtbl -> RegisterService(This,guidService,pUnkObject)
  20308.  
  20309. #endif /* COBJMACROS */
  20310.  
  20311.  
  20312. #endif     /* C style interface */
  20313.  
  20314.  
  20315.  
  20316. HRESULT STDMETHODCALLTYPE IRegisterServiceProvider_RegisterService_Proxy( 
  20317.     IRegisterServiceProvider * This,
  20318.     /* [in] */ REFGUID guidService,
  20319.     /* [in] */ IUnknown *pUnkObject);
  20320.  
  20321.  
  20322. void __RPC_STUB IRegisterServiceProvider_RegisterService_Stub(
  20323.     IRpcStubBuffer *This,
  20324.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20325.     PRPC_MESSAGE _pRpcMessage,
  20326.     DWORD *_pdwStubPhase);
  20327.  
  20328.  
  20329.  
  20330. #endif     /* __IRegisterServiceProvider_INTERFACE_DEFINED__ */
  20331.  
  20332.  
  20333. #ifndef __IAMClockSlave_INTERFACE_DEFINED__
  20334. #define __IAMClockSlave_INTERFACE_DEFINED__
  20335.  
  20336. /* interface IAMClockSlave */
  20337. /* [unique][uuid][object] */ 
  20338.  
  20339.  
  20340. EXTERN_C const IID IID_IAMClockSlave;
  20341.  
  20342. #if defined(__cplusplus) && !defined(CINTERFACE)
  20343.     
  20344.     MIDL_INTERFACE("9FD52741-176D-4b36-8F51-CA8F933223BE")
  20345.     IAMClockSlave : public IUnknown
  20346.     {
  20347.     public:
  20348.         virtual HRESULT STDMETHODCALLTYPE SetErrorTolerance( 
  20349.             /* [in] */ DWORD dwTolerance) = 0;
  20350.         
  20351.         virtual HRESULT STDMETHODCALLTYPE GetErrorTolerance( 
  20352.             /* [out] */ DWORD *pdwTolerance) = 0;
  20353.         
  20354.     };
  20355.     
  20356. #else     /* C style interface */
  20357.  
  20358.     typedef struct IAMClockSlaveVtbl
  20359.     {
  20360.         BEGIN_INTERFACE
  20361.         
  20362.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  20363.             IAMClockSlave * This,
  20364.             /* [in] */ REFIID riid,
  20365.             /* [iid_is][out] */ void **ppvObject);
  20366.         
  20367.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  20368.             IAMClockSlave * This);
  20369.         
  20370.         ULONG ( STDMETHODCALLTYPE *Release )( 
  20371.             IAMClockSlave * This);
  20372.         
  20373.         HRESULT ( STDMETHODCALLTYPE *SetErrorTolerance )( 
  20374.             IAMClockSlave * This,
  20375.             /* [in] */ DWORD dwTolerance);
  20376.         
  20377.         HRESULT ( STDMETHODCALLTYPE *GetErrorTolerance )( 
  20378.             IAMClockSlave * This,
  20379.             /* [out] */ DWORD *pdwTolerance);
  20380.         
  20381.         END_INTERFACE
  20382.     } IAMClockSlaveVtbl;
  20383.  
  20384.     interface IAMClockSlave
  20385.     {
  20386.         CONST_VTBL struct IAMClockSlaveVtbl *lpVtbl;
  20387.     };
  20388.  
  20389.     
  20390.  
  20391. #ifdef COBJMACROS
  20392.  
  20393.  
  20394. #define IAMClockSlave_QueryInterface(This,riid,ppvObject)    \
  20395.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20396.  
  20397. #define IAMClockSlave_AddRef(This)    \
  20398.     (This)->lpVtbl -> AddRef(This)
  20399.  
  20400. #define IAMClockSlave_Release(This)    \
  20401.     (This)->lpVtbl -> Release(This)
  20402.  
  20403.  
  20404. #define IAMClockSlave_SetErrorTolerance(This,dwTolerance)    \
  20405.     (This)->lpVtbl -> SetErrorTolerance(This,dwTolerance)
  20406.  
  20407. #define IAMClockSlave_GetErrorTolerance(This,pdwTolerance)    \
  20408.     (This)->lpVtbl -> GetErrorTolerance(This,pdwTolerance)
  20409.  
  20410. #endif /* COBJMACROS */
  20411.  
  20412.  
  20413. #endif     /* C style interface */
  20414.  
  20415.  
  20416.  
  20417. HRESULT STDMETHODCALLTYPE IAMClockSlave_SetErrorTolerance_Proxy( 
  20418.     IAMClockSlave * This,
  20419.     /* [in] */ DWORD dwTolerance);
  20420.  
  20421.  
  20422. void __RPC_STUB IAMClockSlave_SetErrorTolerance_Stub(
  20423.     IRpcStubBuffer *This,
  20424.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20425.     PRPC_MESSAGE _pRpcMessage,
  20426.     DWORD *_pdwStubPhase);
  20427.  
  20428.  
  20429. HRESULT STDMETHODCALLTYPE IAMClockSlave_GetErrorTolerance_Proxy( 
  20430.     IAMClockSlave * This,
  20431.     /* [out] */ DWORD *pdwTolerance);
  20432.  
  20433.  
  20434. void __RPC_STUB IAMClockSlave_GetErrorTolerance_Stub(
  20435.     IRpcStubBuffer *This,
  20436.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20437.     PRPC_MESSAGE _pRpcMessage,
  20438.     DWORD *_pdwStubPhase);
  20439.  
  20440.  
  20441.  
  20442. #endif     /* __IAMClockSlave_INTERFACE_DEFINED__ */
  20443.  
  20444.  
  20445. #ifndef __IAMGraphBuilderCallback_INTERFACE_DEFINED__
  20446. #define __IAMGraphBuilderCallback_INTERFACE_DEFINED__
  20447.  
  20448. /* interface IAMGraphBuilderCallback */
  20449. /* [unique][local][uuid][object] */ 
  20450.  
  20451.  
  20452. EXTERN_C const IID IID_IAMGraphBuilderCallback;
  20453.  
  20454. #if defined(__cplusplus) && !defined(CINTERFACE)
  20455.     
  20456.     MIDL_INTERFACE("4995f511-9ddb-4f12-bd3b-f04611807b79")
  20457.     IAMGraphBuilderCallback : public IUnknown
  20458.     {
  20459.     public:
  20460.         virtual HRESULT STDMETHODCALLTYPE SelectedFilter( 
  20461.             /* [in] */ IMoniker *pMon) = 0;
  20462.         
  20463.         virtual HRESULT STDMETHODCALLTYPE CreatedFilter( 
  20464.             /* [in] */ IBaseFilter *pFil) = 0;
  20465.         
  20466.     };
  20467.     
  20468. #else     /* C style interface */
  20469.  
  20470.     typedef struct IAMGraphBuilderCallbackVtbl
  20471.     {
  20472.         BEGIN_INTERFACE
  20473.         
  20474.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  20475.             IAMGraphBuilderCallback * This,
  20476.             /* [in] */ REFIID riid,
  20477.             /* [iid_is][out] */ void **ppvObject);
  20478.         
  20479.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  20480.             IAMGraphBuilderCallback * This);
  20481.         
  20482.         ULONG ( STDMETHODCALLTYPE *Release )( 
  20483.             IAMGraphBuilderCallback * This);
  20484.         
  20485.         HRESULT ( STDMETHODCALLTYPE *SelectedFilter )( 
  20486.             IAMGraphBuilderCallback * This,
  20487.             /* [in] */ IMoniker *pMon);
  20488.         
  20489.         HRESULT ( STDMETHODCALLTYPE *CreatedFilter )( 
  20490.             IAMGraphBuilderCallback * This,
  20491.             /* [in] */ IBaseFilter *pFil);
  20492.         
  20493.         END_INTERFACE
  20494.     } IAMGraphBuilderCallbackVtbl;
  20495.  
  20496.     interface IAMGraphBuilderCallback
  20497.     {
  20498.         CONST_VTBL struct IAMGraphBuilderCallbackVtbl *lpVtbl;
  20499.     };
  20500.  
  20501.     
  20502.  
  20503. #ifdef COBJMACROS
  20504.  
  20505.  
  20506. #define IAMGraphBuilderCallback_QueryInterface(This,riid,ppvObject)    \
  20507.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20508.  
  20509. #define IAMGraphBuilderCallback_AddRef(This)    \
  20510.     (This)->lpVtbl -> AddRef(This)
  20511.  
  20512. #define IAMGraphBuilderCallback_Release(This)    \
  20513.     (This)->lpVtbl -> Release(This)
  20514.  
  20515.  
  20516. #define IAMGraphBuilderCallback_SelectedFilter(This,pMon)    \
  20517.     (This)->lpVtbl -> SelectedFilter(This,pMon)
  20518.  
  20519. #define IAMGraphBuilderCallback_CreatedFilter(This,pFil)    \
  20520.     (This)->lpVtbl -> CreatedFilter(This,pFil)
  20521.  
  20522. #endif /* COBJMACROS */
  20523.  
  20524.  
  20525. #endif     /* C style interface */
  20526.  
  20527.  
  20528.  
  20529. HRESULT STDMETHODCALLTYPE IAMGraphBuilderCallback_SelectedFilter_Proxy( 
  20530.     IAMGraphBuilderCallback * This,
  20531.     /* [in] */ IMoniker *pMon);
  20532.  
  20533.  
  20534. void __RPC_STUB IAMGraphBuilderCallback_SelectedFilter_Stub(
  20535.     IRpcStubBuffer *This,
  20536.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20537.     PRPC_MESSAGE _pRpcMessage,
  20538.     DWORD *_pdwStubPhase);
  20539.  
  20540.  
  20541. HRESULT STDMETHODCALLTYPE IAMGraphBuilderCallback_CreatedFilter_Proxy( 
  20542.     IAMGraphBuilderCallback * This,
  20543.     /* [in] */ IBaseFilter *pFil);
  20544.  
  20545.  
  20546. void __RPC_STUB IAMGraphBuilderCallback_CreatedFilter_Stub(
  20547.     IRpcStubBuffer *This,
  20548.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20549.     PRPC_MESSAGE _pRpcMessage,
  20550.     DWORD *_pdwStubPhase);
  20551.  
  20552.  
  20553.  
  20554. #endif     /* __IAMGraphBuilderCallback_INTERFACE_DEFINED__ */
  20555.  
  20556.  
  20557. /* interface __MIDL_itf_strmif_0363 */
  20558. /* [local] */ 
  20559.  
  20560. #ifdef __cplusplus
  20561. #ifndef _IAMFilterGraphCallback_
  20562. #define _IAMFilterGraphCallback_
  20563. // Note: Because this interface was not defined as a proper interface it is
  20564. //       supported under C++ only. Methods aren't stdcall.
  20565. EXTERN_GUID(IID_IAMFilterGraphCallback,0x56a868fd,0x0ad4,0x11ce,0xb0,0xa3,0x0,0x20,0xaf,0x0b,0xa7,0x70);
  20566. interface IAMFilterGraphCallback : public IUnknown
  20567. {
  20568.     // S_OK means rendering complete, S_FALSE means retry now.
  20569.     virtual HRESULT UnableToRender(IPin *pPin) = 0;
  20570.  
  20571. };
  20572. #endif // _IAMFilterGraphCallback_
  20573. #endif
  20574. struct CodecAPIEventData
  20575.     {
  20576.     GUID guid;
  20577.     DWORD dataLength;
  20578.     DWORD reserved[ 3 ];
  20579.     } ;
  20580.  
  20581.  
  20582.  
  20583. extern RPC_IF_HANDLE __MIDL_itf_strmif_0363_v0_0_c_ifspec;
  20584. extern RPC_IF_HANDLE __MIDL_itf_strmif_0363_v0_0_s_ifspec;
  20585.  
  20586. #ifndef __ICodecAPI_INTERFACE_DEFINED__
  20587. #define __ICodecAPI_INTERFACE_DEFINED__
  20588.  
  20589. /* interface ICodecAPI */
  20590. /* [unique][uuid][object] */ 
  20591.  
  20592.  
  20593. EXTERN_C const IID IID_ICodecAPI;
  20594.  
  20595. #if defined(__cplusplus) && !defined(CINTERFACE)
  20596.     
  20597.     MIDL_INTERFACE("901db4c7-31ce-41a2-85dc-8fa0bf41b8da")
  20598.     ICodecAPI : public IUnknown
  20599.     {
  20600.     public:
  20601.         virtual HRESULT STDMETHODCALLTYPE IsSupported( 
  20602.             /* [in] */ const GUID *Api) = 0;
  20603.         
  20604.         virtual HRESULT STDMETHODCALLTYPE IsModifiable( 
  20605.             /* [in] */ const GUID *Api) = 0;
  20606.         
  20607.         virtual HRESULT STDMETHODCALLTYPE GetParameterRange( 
  20608.             /* [in] */ const GUID *Api,
  20609.             /* [out] */ VARIANT *ValueMin,
  20610.             /* [out] */ VARIANT *ValueMax,
  20611.             /* [out] */ VARIANT *SteppingDelta) = 0;
  20612.         
  20613.         virtual HRESULT STDMETHODCALLTYPE GetParameterValues( 
  20614.             /* [in] */ const GUID *Api,
  20615.             /* [size_is][size_is][out] */ VARIANT **Values,
  20616.             /* [out] */ ULONG *ValuesCount) = 0;
  20617.         
  20618.         virtual HRESULT STDMETHODCALLTYPE GetDefaultValue( 
  20619.             /* [in] */ const GUID *Api,
  20620.             /* [out] */ VARIANT *Value) = 0;
  20621.         
  20622.         virtual HRESULT STDMETHODCALLTYPE GetValue( 
  20623.             /* [in] */ const GUID *Api,
  20624.             /* [out] */ VARIANT *Value) = 0;
  20625.         
  20626.         virtual HRESULT STDMETHODCALLTYPE SetValue( 
  20627.             /* [in] */ const GUID *Api,
  20628.             /* [in] */ VARIANT *Value) = 0;
  20629.         
  20630.         virtual HRESULT STDMETHODCALLTYPE RegisterForEvent( 
  20631.             /* [in] */ const GUID *Api,
  20632.             /* [in] */ LONG_PTR userData) = 0;
  20633.         
  20634.         virtual HRESULT STDMETHODCALLTYPE UnregisterForEvent( 
  20635.             /* [in] */ const GUID *Api) = 0;
  20636.         
  20637.         virtual HRESULT STDMETHODCALLTYPE SetAllDefaults( void) = 0;
  20638.         
  20639.         virtual HRESULT STDMETHODCALLTYPE SetValueWithNotify( 
  20640.             /* [in] */ const GUID *Api,
  20641.             /* [in] */ VARIANT *Value,
  20642.             /* [size_is][size_is][out] */ GUID **ChangedParam,
  20643.             /* [out] */ ULONG *ChangedParamCount) = 0;
  20644.         
  20645.         virtual HRESULT STDMETHODCALLTYPE SetAllDefaultsWithNotify( 
  20646.             /* [size_is][size_is][out] */ GUID **ChangedParam,
  20647.             /* [out] */ ULONG *ChangedParamCount) = 0;
  20648.         
  20649.         virtual HRESULT STDMETHODCALLTYPE GetAllSettings( 
  20650.             /* [in] */ IStream *__MIDL_0016) = 0;
  20651.         
  20652.         virtual HRESULT STDMETHODCALLTYPE SetAllSettings( 
  20653.             /* [in] */ IStream *__MIDL_0017) = 0;
  20654.         
  20655.         virtual HRESULT STDMETHODCALLTYPE SetAllSettingsWithNotify( 
  20656.             IStream *__MIDL_0018,
  20657.             /* [size_is][size_is][out] */ GUID **ChangedParam,
  20658.             /* [out] */ ULONG *ChangedParamCount) = 0;
  20659.         
  20660.     };
  20661.     
  20662. #else     /* C style interface */
  20663.  
  20664.     typedef struct ICodecAPIVtbl
  20665.     {
  20666.         BEGIN_INTERFACE
  20667.         
  20668.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  20669.             ICodecAPI * This,
  20670.             /* [in] */ REFIID riid,
  20671.             /* [iid_is][out] */ void **ppvObject);
  20672.         
  20673.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  20674.             ICodecAPI * This);
  20675.         
  20676.         ULONG ( STDMETHODCALLTYPE *Release )( 
  20677.             ICodecAPI * This);
  20678.         
  20679.         HRESULT ( STDMETHODCALLTYPE *IsSupported )( 
  20680.             ICodecAPI * This,
  20681.             /* [in] */ const GUID *Api);
  20682.         
  20683.         HRESULT ( STDMETHODCALLTYPE *IsModifiable )( 
  20684.             ICodecAPI * This,
  20685.             /* [in] */ const GUID *Api);
  20686.         
  20687.         HRESULT ( STDMETHODCALLTYPE *GetParameterRange )( 
  20688.             ICodecAPI * This,
  20689.             /* [in] */ const GUID *Api,
  20690.             /* [out] */ VARIANT *ValueMin,
  20691.             /* [out] */ VARIANT *ValueMax,
  20692.             /* [out] */ VARIANT *SteppingDelta);
  20693.         
  20694.         HRESULT ( STDMETHODCALLTYPE *GetParameterValues )( 
  20695.             ICodecAPI * This,
  20696.             /* [in] */ const GUID *Api,
  20697.             /* [size_is][size_is][out] */ VARIANT **Values,
  20698.             /* [out] */ ULONG *ValuesCount);
  20699.         
  20700.         HRESULT ( STDMETHODCALLTYPE *GetDefaultValue )( 
  20701.             ICodecAPI * This,
  20702.             /* [in] */ const GUID *Api,
  20703.             /* [out] */ VARIANT *Value);
  20704.         
  20705.         HRESULT ( STDMETHODCALLTYPE *GetValue )( 
  20706.             ICodecAPI * This,
  20707.             /* [in] */ const GUID *Api,
  20708.             /* [out] */ VARIANT *Value);
  20709.         
  20710.         HRESULT ( STDMETHODCALLTYPE *SetValue )( 
  20711.             ICodecAPI * This,
  20712.             /* [in] */ const GUID *Api,
  20713.             /* [in] */ VARIANT *Value);
  20714.         
  20715.         HRESULT ( STDMETHODCALLTYPE *RegisterForEvent )( 
  20716.             ICodecAPI * This,
  20717.             /* [in] */ const GUID *Api,
  20718.             /* [in] */ LONG_PTR userData);
  20719.         
  20720.         HRESULT ( STDMETHODCALLTYPE *UnregisterForEvent )( 
  20721.             ICodecAPI * This,
  20722.             /* [in] */ const GUID *Api);
  20723.         
  20724.         HRESULT ( STDMETHODCALLTYPE *SetAllDefaults )( 
  20725.             ICodecAPI * This);
  20726.         
  20727.         HRESULT ( STDMETHODCALLTYPE *SetValueWithNotify )( 
  20728.             ICodecAPI * This,
  20729.             /* [in] */ const GUID *Api,
  20730.             /* [in] */ VARIANT *Value,
  20731.             /* [size_is][size_is][out] */ GUID **ChangedParam,
  20732.             /* [out] */ ULONG *ChangedParamCount);
  20733.         
  20734.         HRESULT ( STDMETHODCALLTYPE *SetAllDefaultsWithNotify )( 
  20735.             ICodecAPI * This,
  20736.             /* [size_is][size_is][out] */ GUID **ChangedParam,
  20737.             /* [out] */ ULONG *ChangedParamCount);
  20738.         
  20739.         HRESULT ( STDMETHODCALLTYPE *GetAllSettings )( 
  20740.             ICodecAPI * This,
  20741.             /* [in] */ IStream *__MIDL_0016);
  20742.         
  20743.         HRESULT ( STDMETHODCALLTYPE *SetAllSettings )( 
  20744.             ICodecAPI * This,
  20745.             /* [in] */ IStream *__MIDL_0017);
  20746.         
  20747.         HRESULT ( STDMETHODCALLTYPE *SetAllSettingsWithNotify )( 
  20748.             ICodecAPI * This,
  20749.             IStream *__MIDL_0018,
  20750.             /* [size_is][size_is][out] */ GUID **ChangedParam,
  20751.             /* [out] */ ULONG *ChangedParamCount);
  20752.         
  20753.         END_INTERFACE
  20754.     } ICodecAPIVtbl;
  20755.  
  20756.     interface ICodecAPI
  20757.     {
  20758.         CONST_VTBL struct ICodecAPIVtbl *lpVtbl;
  20759.     };
  20760.  
  20761.     
  20762.  
  20763. #ifdef COBJMACROS
  20764.  
  20765.  
  20766. #define ICodecAPI_QueryInterface(This,riid,ppvObject)    \
  20767.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20768.  
  20769. #define ICodecAPI_AddRef(This)    \
  20770.     (This)->lpVtbl -> AddRef(This)
  20771.  
  20772. #define ICodecAPI_Release(This)    \
  20773.     (This)->lpVtbl -> Release(This)
  20774.  
  20775.  
  20776. #define ICodecAPI_IsSupported(This,Api)    \
  20777.     (This)->lpVtbl -> IsSupported(This,Api)
  20778.  
  20779. #define ICodecAPI_IsModifiable(This,Api)    \
  20780.     (This)->lpVtbl -> IsModifiable(This,Api)
  20781.  
  20782. #define ICodecAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)    \
  20783.     (This)->lpVtbl -> GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
  20784.  
  20785. #define ICodecAPI_GetParameterValues(This,Api,Values,ValuesCount)    \
  20786.     (This)->lpVtbl -> GetParameterValues(This,Api,Values,ValuesCount)
  20787.  
  20788. #define ICodecAPI_GetDefaultValue(This,Api,Value)    \
  20789.     (This)->lpVtbl -> GetDefaultValue(This,Api,Value)
  20790.  
  20791. #define ICodecAPI_GetValue(This,Api,Value)    \
  20792.     (This)->lpVtbl -> GetValue(This,Api,Value)
  20793.  
  20794. #define ICodecAPI_SetValue(This,Api,Value)    \
  20795.     (This)->lpVtbl -> SetValue(This,Api,Value)
  20796.  
  20797. #define ICodecAPI_RegisterForEvent(This,Api,userData)    \
  20798.     (This)->lpVtbl -> RegisterForEvent(This,Api,userData)
  20799.  
  20800. #define ICodecAPI_UnregisterForEvent(This,Api)    \
  20801.     (This)->lpVtbl -> UnregisterForEvent(This,Api)
  20802.  
  20803. #define ICodecAPI_SetAllDefaults(This)    \
  20804.     (This)->lpVtbl -> SetAllDefaults(This)
  20805.  
  20806. #define ICodecAPI_SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount)    \
  20807.     (This)->lpVtbl -> SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount)
  20808.  
  20809. #define ICodecAPI_SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount)    \
  20810.     (This)->lpVtbl -> SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount)
  20811.  
  20812. #define ICodecAPI_GetAllSettings(This,__MIDL_0016)    \
  20813.     (This)->lpVtbl -> GetAllSettings(This,__MIDL_0016)
  20814.  
  20815. #define ICodecAPI_SetAllSettings(This,__MIDL_0017)    \
  20816.     (This)->lpVtbl -> SetAllSettings(This,__MIDL_0017)
  20817.  
  20818. #define ICodecAPI_SetAllSettingsWithNotify(This,__MIDL_0018,ChangedParam,ChangedParamCount)    \
  20819.     (This)->lpVtbl -> SetAllSettingsWithNotify(This,__MIDL_0018,ChangedParam,ChangedParamCount)
  20820.  
  20821. #endif /* COBJMACROS */
  20822.  
  20823.  
  20824. #endif     /* C style interface */
  20825.  
  20826.  
  20827.  
  20828. HRESULT STDMETHODCALLTYPE ICodecAPI_IsSupported_Proxy( 
  20829.     ICodecAPI * This,
  20830.     /* [in] */ const GUID *Api);
  20831.  
  20832.  
  20833. void __RPC_STUB ICodecAPI_IsSupported_Stub(
  20834.     IRpcStubBuffer *This,
  20835.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20836.     PRPC_MESSAGE _pRpcMessage,
  20837.     DWORD *_pdwStubPhase);
  20838.  
  20839.  
  20840. HRESULT STDMETHODCALLTYPE ICodecAPI_IsModifiable_Proxy( 
  20841.     ICodecAPI * This,
  20842.     /* [in] */ const GUID *Api);
  20843.  
  20844.  
  20845. void __RPC_STUB ICodecAPI_IsModifiable_Stub(
  20846.     IRpcStubBuffer *This,
  20847.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20848.     PRPC_MESSAGE _pRpcMessage,
  20849.     DWORD *_pdwStubPhase);
  20850.  
  20851.  
  20852. HRESULT STDMETHODCALLTYPE ICodecAPI_GetParameterRange_Proxy( 
  20853.     ICodecAPI * This,
  20854.     /* [in] */ const GUID *Api,
  20855.     /* [out] */ VARIANT *ValueMin,
  20856.     /* [out] */ VARIANT *ValueMax,
  20857.     /* [out] */ VARIANT *SteppingDelta);
  20858.  
  20859.  
  20860. void __RPC_STUB ICodecAPI_GetParameterRange_Stub(
  20861.     IRpcStubBuffer *This,
  20862.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20863.     PRPC_MESSAGE _pRpcMessage,
  20864.     DWORD *_pdwStubPhase);
  20865.  
  20866.  
  20867. HRESULT STDMETHODCALLTYPE ICodecAPI_GetParameterValues_Proxy( 
  20868.     ICodecAPI * This,
  20869.     /* [in] */ const GUID *Api,
  20870.     /* [size_is][size_is][out] */ VARIANT **Values,
  20871.     /* [out] */ ULONG *ValuesCount);
  20872.  
  20873.  
  20874. void __RPC_STUB ICodecAPI_GetParameterValues_Stub(
  20875.     IRpcStubBuffer *This,
  20876.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20877.     PRPC_MESSAGE _pRpcMessage,
  20878.     DWORD *_pdwStubPhase);
  20879.  
  20880.  
  20881. HRESULT STDMETHODCALLTYPE ICodecAPI_GetDefaultValue_Proxy( 
  20882.     ICodecAPI * This,
  20883.     /* [in] */ const GUID *Api,
  20884.     /* [out] */ VARIANT *Value);
  20885.  
  20886.  
  20887. void __RPC_STUB ICodecAPI_GetDefaultValue_Stub(
  20888.     IRpcStubBuffer *This,
  20889.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20890.     PRPC_MESSAGE _pRpcMessage,
  20891.     DWORD *_pdwStubPhase);
  20892.  
  20893.  
  20894. HRESULT STDMETHODCALLTYPE ICodecAPI_GetValue_Proxy( 
  20895.     ICodecAPI * This,
  20896.     /* [in] */ const GUID *Api,
  20897.     /* [out] */ VARIANT *Value);
  20898.  
  20899.  
  20900. void __RPC_STUB ICodecAPI_GetValue_Stub(
  20901.     IRpcStubBuffer *This,
  20902.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20903.     PRPC_MESSAGE _pRpcMessage,
  20904.     DWORD *_pdwStubPhase);
  20905.  
  20906.  
  20907. HRESULT STDMETHODCALLTYPE ICodecAPI_SetValue_Proxy( 
  20908.     ICodecAPI * This,
  20909.     /* [in] */ const GUID *Api,
  20910.     /* [in] */ VARIANT *Value);
  20911.  
  20912.  
  20913. void __RPC_STUB ICodecAPI_SetValue_Stub(
  20914.     IRpcStubBuffer *This,
  20915.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20916.     PRPC_MESSAGE _pRpcMessage,
  20917.     DWORD *_pdwStubPhase);
  20918.  
  20919.  
  20920. HRESULT STDMETHODCALLTYPE ICodecAPI_RegisterForEvent_Proxy( 
  20921.     ICodecAPI * This,
  20922.     /* [in] */ const GUID *Api,
  20923.     /* [in] */ LONG_PTR userData);
  20924.  
  20925.  
  20926. void __RPC_STUB ICodecAPI_RegisterForEvent_Stub(
  20927.     IRpcStubBuffer *This,
  20928.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20929.     PRPC_MESSAGE _pRpcMessage,
  20930.     DWORD *_pdwStubPhase);
  20931.  
  20932.  
  20933. HRESULT STDMETHODCALLTYPE ICodecAPI_UnregisterForEvent_Proxy( 
  20934.     ICodecAPI * This,
  20935.     /* [in] */ const GUID *Api);
  20936.  
  20937.  
  20938. void __RPC_STUB ICodecAPI_UnregisterForEvent_Stub(
  20939.     IRpcStubBuffer *This,
  20940.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20941.     PRPC_MESSAGE _pRpcMessage,
  20942.     DWORD *_pdwStubPhase);
  20943.  
  20944.  
  20945. HRESULT STDMETHODCALLTYPE ICodecAPI_SetAllDefaults_Proxy( 
  20946.     ICodecAPI * This);
  20947.  
  20948.  
  20949. void __RPC_STUB ICodecAPI_SetAllDefaults_Stub(
  20950.     IRpcStubBuffer *This,
  20951.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20952.     PRPC_MESSAGE _pRpcMessage,
  20953.     DWORD *_pdwStubPhase);
  20954.  
  20955.  
  20956. HRESULT STDMETHODCALLTYPE ICodecAPI_SetValueWithNotify_Proxy( 
  20957.     ICodecAPI * This,
  20958.     /* [in] */ const GUID *Api,
  20959.     /* [in] */ VARIANT *Value,
  20960.     /* [size_is][size_is][out] */ GUID **ChangedParam,
  20961.     /* [out] */ ULONG *ChangedParamCount);
  20962.  
  20963.  
  20964. void __RPC_STUB ICodecAPI_SetValueWithNotify_Stub(
  20965.     IRpcStubBuffer *This,
  20966.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20967.     PRPC_MESSAGE _pRpcMessage,
  20968.     DWORD *_pdwStubPhase);
  20969.  
  20970.  
  20971. HRESULT STDMETHODCALLTYPE ICodecAPI_SetAllDefaultsWithNotify_Proxy( 
  20972.     ICodecAPI * This,
  20973.     /* [size_is][size_is][out] */ GUID **ChangedParam,
  20974.     /* [out] */ ULONG *ChangedParamCount);
  20975.  
  20976.  
  20977. void __RPC_STUB ICodecAPI_SetAllDefaultsWithNotify_Stub(
  20978.     IRpcStubBuffer *This,
  20979.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20980.     PRPC_MESSAGE _pRpcMessage,
  20981.     DWORD *_pdwStubPhase);
  20982.  
  20983.  
  20984. HRESULT STDMETHODCALLTYPE ICodecAPI_GetAllSettings_Proxy( 
  20985.     ICodecAPI * This,
  20986.     /* [in] */ IStream *__MIDL_0016);
  20987.  
  20988.  
  20989. void __RPC_STUB ICodecAPI_GetAllSettings_Stub(
  20990.     IRpcStubBuffer *This,
  20991.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20992.     PRPC_MESSAGE _pRpcMessage,
  20993.     DWORD *_pdwStubPhase);
  20994.  
  20995.  
  20996. HRESULT STDMETHODCALLTYPE ICodecAPI_SetAllSettings_Proxy( 
  20997.     ICodecAPI * This,
  20998.     /* [in] */ IStream *__MIDL_0017);
  20999.  
  21000.  
  21001. void __RPC_STUB ICodecAPI_SetAllSettings_Stub(
  21002.     IRpcStubBuffer *This,
  21003.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21004.     PRPC_MESSAGE _pRpcMessage,
  21005.     DWORD *_pdwStubPhase);
  21006.  
  21007.  
  21008. HRESULT STDMETHODCALLTYPE ICodecAPI_SetAllSettingsWithNotify_Proxy( 
  21009.     ICodecAPI * This,
  21010.     IStream *__MIDL_0018,
  21011.     /* [size_is][size_is][out] */ GUID **ChangedParam,
  21012.     /* [out] */ ULONG *ChangedParamCount);
  21013.  
  21014.  
  21015. void __RPC_STUB ICodecAPI_SetAllSettingsWithNotify_Stub(
  21016.     IRpcStubBuffer *This,
  21017.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21018.     PRPC_MESSAGE _pRpcMessage,
  21019.     DWORD *_pdwStubPhase);
  21020.  
  21021.  
  21022.  
  21023. #endif     /* __ICodecAPI_INTERFACE_DEFINED__ */
  21024.  
  21025.  
  21026. #ifndef __IGetCapabilitiesKey_INTERFACE_DEFINED__
  21027. #define __IGetCapabilitiesKey_INTERFACE_DEFINED__
  21028.  
  21029. /* interface IGetCapabilitiesKey */
  21030. /* [unique][uuid][local][object] */ 
  21031.  
  21032.  
  21033. EXTERN_C const IID IID_IGetCapabilitiesKey;
  21034.  
  21035. #if defined(__cplusplus) && !defined(CINTERFACE)
  21036.     
  21037.     MIDL_INTERFACE("a8809222-07bb-48ea-951c-33158100625b")
  21038.     IGetCapabilitiesKey : public IUnknown
  21039.     {
  21040.     public:
  21041.         virtual HRESULT STDMETHODCALLTYPE GetCapabilitiesKey( 
  21042.             /* [out] */ HKEY *pHKey) = 0;
  21043.         
  21044.     };
  21045.     
  21046. #else     /* C style interface */
  21047.  
  21048.     typedef struct IGetCapabilitiesKeyVtbl
  21049.     {
  21050.         BEGIN_INTERFACE
  21051.         
  21052.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  21053.             IGetCapabilitiesKey * This,
  21054.             /* [in] */ REFIID riid,
  21055.             /* [iid_is][out] */ void **ppvObject);
  21056.         
  21057.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  21058.             IGetCapabilitiesKey * This);
  21059.         
  21060.         ULONG ( STDMETHODCALLTYPE *Release )( 
  21061.             IGetCapabilitiesKey * This);
  21062.         
  21063.         HRESULT ( STDMETHODCALLTYPE *GetCapabilitiesKey )( 
  21064.             IGetCapabilitiesKey * This,
  21065.             /* [out] */ HKEY *pHKey);
  21066.         
  21067.         END_INTERFACE
  21068.     } IGetCapabilitiesKeyVtbl;
  21069.  
  21070.     interface IGetCapabilitiesKey
  21071.     {
  21072.         CONST_VTBL struct IGetCapabilitiesKeyVtbl *lpVtbl;
  21073.     };
  21074.  
  21075.     
  21076.  
  21077. #ifdef COBJMACROS
  21078.  
  21079.  
  21080. #define IGetCapabilitiesKey_QueryInterface(This,riid,ppvObject)    \
  21081.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  21082.  
  21083. #define IGetCapabilitiesKey_AddRef(This)    \
  21084.     (This)->lpVtbl -> AddRef(This)
  21085.  
  21086. #define IGetCapabilitiesKey_Release(This)    \
  21087.     (This)->lpVtbl -> Release(This)
  21088.  
  21089.  
  21090. #define IGetCapabilitiesKey_GetCapabilitiesKey(This,pHKey)    \
  21091.     (This)->lpVtbl -> GetCapabilitiesKey(This,pHKey)
  21092.  
  21093. #endif /* COBJMACROS */
  21094.  
  21095.  
  21096. #endif     /* C style interface */
  21097.  
  21098.  
  21099.  
  21100. HRESULT STDMETHODCALLTYPE IGetCapabilitiesKey_GetCapabilitiesKey_Proxy( 
  21101.     IGetCapabilitiesKey * This,
  21102.     /* [out] */ HKEY *pHKey);
  21103.  
  21104.  
  21105. void __RPC_STUB IGetCapabilitiesKey_GetCapabilitiesKey_Stub(
  21106.     IRpcStubBuffer *This,
  21107.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21108.     PRPC_MESSAGE _pRpcMessage,
  21109.     DWORD *_pdwStubPhase);
  21110.  
  21111.  
  21112.  
  21113. #endif     /* __IGetCapabilitiesKey_INTERFACE_DEFINED__ */
  21114.  
  21115.  
  21116. #ifndef __IEncoderAPI_INTERFACE_DEFINED__
  21117. #define __IEncoderAPI_INTERFACE_DEFINED__
  21118.  
  21119. /* interface IEncoderAPI */
  21120. /* [unique][uuid][object] */ 
  21121.  
  21122.  
  21123. EXTERN_C const IID IID_IEncoderAPI;
  21124.  
  21125. #if defined(__cplusplus) && !defined(CINTERFACE)
  21126.     
  21127.     MIDL_INTERFACE("70423839-6ACC-4b23-B079-21DBF08156A5")
  21128.     IEncoderAPI : public IUnknown
  21129.     {
  21130.     public:
  21131.         virtual HRESULT STDMETHODCALLTYPE IsSupported( 
  21132.             /* [in] */ const GUID *Api) = 0;
  21133.         
  21134.         virtual HRESULT STDMETHODCALLTYPE IsAvailable( 
  21135.             /* [in] */ const GUID *Api) = 0;
  21136.         
  21137.         virtual HRESULT STDMETHODCALLTYPE GetParameterRange( 
  21138.             /* [in] */ const GUID *Api,
  21139.             /* [out] */ VARIANT *ValueMin,
  21140.             /* [out] */ VARIANT *ValueMax,
  21141.             /* [out] */ VARIANT *SteppingDelta) = 0;
  21142.         
  21143.         virtual HRESULT STDMETHODCALLTYPE GetParameterValues( 
  21144.             /* [in] */ const GUID *Api,
  21145.             /* [size_is][size_is][out] */ VARIANT **Values,
  21146.             /* [out] */ ULONG *ValuesCount) = 0;
  21147.         
  21148.         virtual HRESULT STDMETHODCALLTYPE GetDefaultValue( 
  21149.             /* [in] */ const GUID *Api,
  21150.             /* [out] */ VARIANT *Value) = 0;
  21151.         
  21152.         virtual HRESULT STDMETHODCALLTYPE GetValue( 
  21153.             /* [in] */ const GUID *Api,
  21154.             /* [out] */ VARIANT *Value) = 0;
  21155.         
  21156.         virtual HRESULT STDMETHODCALLTYPE SetValue( 
  21157.             /* [in] */ const GUID *Api,
  21158.             /* [in] */ VARIANT *Value) = 0;
  21159.         
  21160.     };
  21161.     
  21162. #else     /* C style interface */
  21163.  
  21164.     typedef struct IEncoderAPIVtbl
  21165.     {
  21166.         BEGIN_INTERFACE
  21167.         
  21168.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  21169.             IEncoderAPI * This,
  21170.             /* [in] */ REFIID riid,
  21171.             /* [iid_is][out] */ void **ppvObject);
  21172.         
  21173.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  21174.             IEncoderAPI * This);
  21175.         
  21176.         ULONG ( STDMETHODCALLTYPE *Release )( 
  21177.             IEncoderAPI * This);
  21178.         
  21179.         HRESULT ( STDMETHODCALLTYPE *IsSupported )( 
  21180.             IEncoderAPI * This,
  21181.             /* [in] */ const GUID *Api);
  21182.         
  21183.         HRESULT ( STDMETHODCALLTYPE *IsAvailable )( 
  21184.             IEncoderAPI * This,
  21185.             /* [in] */ const GUID *Api);
  21186.         
  21187.         HRESULT ( STDMETHODCALLTYPE *GetParameterRange )( 
  21188.             IEncoderAPI * This,
  21189.             /* [in] */ const GUID *Api,
  21190.             /* [out] */ VARIANT *ValueMin,
  21191.             /* [out] */ VARIANT *ValueMax,
  21192.             /* [out] */ VARIANT *SteppingDelta);
  21193.         
  21194.         HRESULT ( STDMETHODCALLTYPE *GetParameterValues )( 
  21195.             IEncoderAPI * This,
  21196.             /* [in] */ const GUID *Api,
  21197.             /* [size_is][size_is][out] */ VARIANT **Values,
  21198.             /* [out] */ ULONG *ValuesCount);
  21199.         
  21200.         HRESULT ( STDMETHODCALLTYPE *GetDefaultValue )( 
  21201.             IEncoderAPI * This,
  21202.             /* [in] */ const GUID *Api,
  21203.             /* [out] */ VARIANT *Value);
  21204.         
  21205.         HRESULT ( STDMETHODCALLTYPE *GetValue )( 
  21206.             IEncoderAPI * This,
  21207.             /* [in] */ const GUID *Api,
  21208.             /* [out] */ VARIANT *Value);
  21209.         
  21210.         HRESULT ( STDMETHODCALLTYPE *SetValue )( 
  21211.             IEncoderAPI * This,
  21212.             /* [in] */ const GUID *Api,
  21213.             /* [in] */ VARIANT *Value);
  21214.         
  21215.         END_INTERFACE
  21216.     } IEncoderAPIVtbl;
  21217.  
  21218.     interface IEncoderAPI
  21219.     {
  21220.         CONST_VTBL struct IEncoderAPIVtbl *lpVtbl;
  21221.     };
  21222.  
  21223.     
  21224.  
  21225. #ifdef COBJMACROS
  21226.  
  21227.  
  21228. #define IEncoderAPI_QueryInterface(This,riid,ppvObject)    \
  21229.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  21230.  
  21231. #define IEncoderAPI_AddRef(This)    \
  21232.     (This)->lpVtbl -> AddRef(This)
  21233.  
  21234. #define IEncoderAPI_Release(This)    \
  21235.     (This)->lpVtbl -> Release(This)
  21236.  
  21237.  
  21238. #define IEncoderAPI_IsSupported(This,Api)    \
  21239.     (This)->lpVtbl -> IsSupported(This,Api)
  21240.  
  21241. #define IEncoderAPI_IsAvailable(This,Api)    \
  21242.     (This)->lpVtbl -> IsAvailable(This,Api)
  21243.  
  21244. #define IEncoderAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)    \
  21245.     (This)->lpVtbl -> GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
  21246.  
  21247. #define IEncoderAPI_GetParameterValues(This,Api,Values,ValuesCount)    \
  21248.     (This)->lpVtbl -> GetParameterValues(This,Api,Values,ValuesCount)
  21249.  
  21250. #define IEncoderAPI_GetDefaultValue(This,Api,Value)    \
  21251.     (This)->lpVtbl -> GetDefaultValue(This,Api,Value)
  21252.  
  21253. #define IEncoderAPI_GetValue(This,Api,Value)    \
  21254.     (This)->lpVtbl -> GetValue(This,Api,Value)
  21255.  
  21256. #define IEncoderAPI_SetValue(This,Api,Value)    \
  21257.     (This)->lpVtbl -> SetValue(This,Api,Value)
  21258.  
  21259. #endif /* COBJMACROS */
  21260.  
  21261.  
  21262. #endif     /* C style interface */
  21263.  
  21264.  
  21265.  
  21266. HRESULT STDMETHODCALLTYPE IEncoderAPI_IsSupported_Proxy( 
  21267.     IEncoderAPI * This,
  21268.     /* [in] */ const GUID *Api);
  21269.  
  21270.  
  21271. void __RPC_STUB IEncoderAPI_IsSupported_Stub(
  21272.     IRpcStubBuffer *This,
  21273.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21274.     PRPC_MESSAGE _pRpcMessage,
  21275.     DWORD *_pdwStubPhase);
  21276.  
  21277.  
  21278. HRESULT STDMETHODCALLTYPE IEncoderAPI_IsAvailable_Proxy( 
  21279.     IEncoderAPI * This,
  21280.     /* [in] */ const GUID *Api);
  21281.  
  21282.  
  21283. void __RPC_STUB IEncoderAPI_IsAvailable_Stub(
  21284.     IRpcStubBuffer *This,
  21285.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21286.     PRPC_MESSAGE _pRpcMessage,
  21287.     DWORD *_pdwStubPhase);
  21288.  
  21289.  
  21290. HRESULT STDMETHODCALLTYPE IEncoderAPI_GetParameterRange_Proxy( 
  21291.     IEncoderAPI * This,
  21292.     /* [in] */ const GUID *Api,
  21293.     /* [out] */ VARIANT *ValueMin,
  21294.     /* [out] */ VARIANT *ValueMax,
  21295.     /* [out] */ VARIANT *SteppingDelta);
  21296.  
  21297.  
  21298. void __RPC_STUB IEncoderAPI_GetParameterRange_Stub(
  21299.     IRpcStubBuffer *This,
  21300.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21301.     PRPC_MESSAGE _pRpcMessage,
  21302.     DWORD *_pdwStubPhase);
  21303.  
  21304.  
  21305. HRESULT STDMETHODCALLTYPE IEncoderAPI_GetParameterValues_Proxy( 
  21306.     IEncoderAPI * This,
  21307.     /* [in] */ const GUID *Api,
  21308.     /* [size_is][size_is][out] */ VARIANT **Values,
  21309.     /* [out] */ ULONG *ValuesCount);
  21310.  
  21311.  
  21312. void __RPC_STUB IEncoderAPI_GetParameterValues_Stub(
  21313.     IRpcStubBuffer *This,
  21314.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21315.     PRPC_MESSAGE _pRpcMessage,
  21316.     DWORD *_pdwStubPhase);
  21317.  
  21318.  
  21319. HRESULT STDMETHODCALLTYPE IEncoderAPI_GetDefaultValue_Proxy( 
  21320.     IEncoderAPI * This,
  21321.     /* [in] */ const GUID *Api,
  21322.     /* [out] */ VARIANT *Value);
  21323.  
  21324.  
  21325. void __RPC_STUB IEncoderAPI_GetDefaultValue_Stub(
  21326.     IRpcStubBuffer *This,
  21327.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21328.     PRPC_MESSAGE _pRpcMessage,
  21329.     DWORD *_pdwStubPhase);
  21330.  
  21331.  
  21332. HRESULT STDMETHODCALLTYPE IEncoderAPI_GetValue_Proxy( 
  21333.     IEncoderAPI * This,
  21334.     /* [in] */ const GUID *Api,
  21335.     /* [out] */ VARIANT *Value);
  21336.  
  21337.  
  21338. void __RPC_STUB IEncoderAPI_GetValue_Stub(
  21339.     IRpcStubBuffer *This,
  21340.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21341.     PRPC_MESSAGE _pRpcMessage,
  21342.     DWORD *_pdwStubPhase);
  21343.  
  21344.  
  21345. HRESULT STDMETHODCALLTYPE IEncoderAPI_SetValue_Proxy( 
  21346.     IEncoderAPI * This,
  21347.     /* [in] */ const GUID *Api,
  21348.     /* [in] */ VARIANT *Value);
  21349.  
  21350.  
  21351. void __RPC_STUB IEncoderAPI_SetValue_Stub(
  21352.     IRpcStubBuffer *This,
  21353.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21354.     PRPC_MESSAGE _pRpcMessage,
  21355.     DWORD *_pdwStubPhase);
  21356.  
  21357.  
  21358.  
  21359. #endif     /* __IEncoderAPI_INTERFACE_DEFINED__ */
  21360.  
  21361.  
  21362. #ifndef __IVideoEncoder_INTERFACE_DEFINED__
  21363. #define __IVideoEncoder_INTERFACE_DEFINED__
  21364.  
  21365. /* interface IVideoEncoder */
  21366. /* [unique][uuid][object] */ 
  21367.  
  21368.  
  21369. EXTERN_C const IID IID_IVideoEncoder;
  21370.  
  21371. #if defined(__cplusplus) && !defined(CINTERFACE)
  21372.     
  21373.     MIDL_INTERFACE("02997C3B-8E1B-460e-9270-545E0DE9563E")
  21374.     IVideoEncoder : public IEncoderAPI
  21375.     {
  21376.     public:
  21377.     };
  21378.     
  21379. #else     /* C style interface */
  21380.  
  21381.     typedef struct IVideoEncoderVtbl
  21382.     {
  21383.         BEGIN_INTERFACE
  21384.         
  21385.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  21386.             IVideoEncoder * This,
  21387.             /* [in] */ REFIID riid,
  21388.             /* [iid_is][out] */ void **ppvObject);
  21389.         
  21390.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  21391.             IVideoEncoder * This);
  21392.         
  21393.         ULONG ( STDMETHODCALLTYPE *Release )( 
  21394.             IVideoEncoder * This);
  21395.         
  21396.         HRESULT ( STDMETHODCALLTYPE *IsSupported )( 
  21397.             IVideoEncoder * This,
  21398.             /* [in] */ const GUID *Api);
  21399.         
  21400.         HRESULT ( STDMETHODCALLTYPE *IsAvailable )( 
  21401.             IVideoEncoder * This,
  21402.             /* [in] */ const GUID *Api);
  21403.         
  21404.         HRESULT ( STDMETHODCALLTYPE *GetParameterRange )( 
  21405.             IVideoEncoder * This,
  21406.             /* [in] */ const GUID *Api,
  21407.             /* [out] */ VARIANT *ValueMin,
  21408.             /* [out] */ VARIANT *ValueMax,
  21409.             /* [out] */ VARIANT *SteppingDelta);
  21410.         
  21411.         HRESULT ( STDMETHODCALLTYPE *GetParameterValues )( 
  21412.             IVideoEncoder * This,
  21413.             /* [in] */ const GUID *Api,
  21414.             /* [size_is][size_is][out] */ VARIANT **Values,
  21415.             /* [out] */ ULONG *ValuesCount);
  21416.         
  21417.         HRESULT ( STDMETHODCALLTYPE *GetDefaultValue )( 
  21418.             IVideoEncoder * This,
  21419.             /* [in] */ const GUID *Api,
  21420.             /* [out] */ VARIANT *Value);
  21421.         
  21422.         HRESULT ( STDMETHODCALLTYPE *GetValue )( 
  21423.             IVideoEncoder * This,
  21424.             /* [in] */ const GUID *Api,
  21425.             /* [out] */ VARIANT *Value);
  21426.         
  21427.         HRESULT ( STDMETHODCALLTYPE *SetValue )( 
  21428.             IVideoEncoder * This,
  21429.             /* [in] */ const GUID *Api,
  21430.             /* [in] */ VARIANT *Value);
  21431.         
  21432.         END_INTERFACE
  21433.     } IVideoEncoderVtbl;
  21434.  
  21435.     interface IVideoEncoder
  21436.     {
  21437.         CONST_VTBL struct IVideoEncoderVtbl *lpVtbl;
  21438.     };
  21439.  
  21440.     
  21441.  
  21442. #ifdef COBJMACROS
  21443.  
  21444.  
  21445. #define IVideoEncoder_QueryInterface(This,riid,ppvObject)    \
  21446.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  21447.  
  21448. #define IVideoEncoder_AddRef(This)    \
  21449.     (This)->lpVtbl -> AddRef(This)
  21450.  
  21451. #define IVideoEncoder_Release(This)    \
  21452.     (This)->lpVtbl -> Release(This)
  21453.  
  21454.  
  21455. #define IVideoEncoder_IsSupported(This,Api)    \
  21456.     (This)->lpVtbl -> IsSupported(This,Api)
  21457.  
  21458. #define IVideoEncoder_IsAvailable(This,Api)    \
  21459.     (This)->lpVtbl -> IsAvailable(This,Api)
  21460.  
  21461. #define IVideoEncoder_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)    \
  21462.     (This)->lpVtbl -> GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
  21463.  
  21464. #define IVideoEncoder_GetParameterValues(This,Api,Values,ValuesCount)    \
  21465.     (This)->lpVtbl -> GetParameterValues(This,Api,Values,ValuesCount)
  21466.  
  21467. #define IVideoEncoder_GetDefaultValue(This,Api,Value)    \
  21468.     (This)->lpVtbl -> GetDefaultValue(This,Api,Value)
  21469.  
  21470. #define IVideoEncoder_GetValue(This,Api,Value)    \
  21471.     (This)->lpVtbl -> GetValue(This,Api,Value)
  21472.  
  21473. #define IVideoEncoder_SetValue(This,Api,Value)    \
  21474.     (This)->lpVtbl -> SetValue(This,Api,Value)
  21475.  
  21476.  
  21477. #endif /* COBJMACROS */
  21478.  
  21479.  
  21480. #endif     /* C style interface */
  21481.  
  21482.  
  21483.  
  21484.  
  21485. #endif     /* __IVideoEncoder_INTERFACE_DEFINED__ */
  21486.  
  21487.  
  21488. /* interface __MIDL_itf_strmif_0367 */
  21489. /* [local] */ 
  21490.  
  21491. #ifndef __ENCODER_API_DEFINES__
  21492. #define __ENCODER_API_DEFINES__
  21493. typedef /* [public] */ 
  21494. enum __MIDL___MIDL_itf_strmif_0367_0001
  21495.     {    ConstantBitRate    = 0,
  21496.     VariableBitRateAverage    = ConstantBitRate + 1,
  21497.     VariableBitRatePeak    = VariableBitRateAverage + 1
  21498.     }     VIDEOENCODER_BITRATE_MODE;
  21499.  
  21500. #endif // __ENCODER_API_DEFINES__
  21501. #define AM_GETDECODERCAP_QUERY_VMR_SUPPORT   0x00000001
  21502. #define      VMR_NOTSUPPORTED                0x00000000
  21503. #define      VMR_SUPPORTED                   0x00000001
  21504. #define AM_QUERY_DECODER_VMR_SUPPORT         0x00000001
  21505. #define AM_QUERY_DECODER_DXVA_1_SUPPORT      0x00000002
  21506. #define AM_QUERY_DECODER_DVD_SUPPORT         0x00000003
  21507. #define AM_QUERY_DECODER_ATSC_SD_SUPPORT     0x00000004
  21508. #define AM_QUERY_DECODER_ATSC_HD_SUPPORT     0x00000005
  21509. #define AM_GETDECODERCAP_QUERY_VMR9_SUPPORT  0x00000006
  21510. #define      DECODER_CAP_NOTSUPPORTED        0x00000000
  21511. #define      DECODER_CAP_SUPPORTED           0x00000001
  21512.  
  21513.  
  21514. extern RPC_IF_HANDLE __MIDL_itf_strmif_0367_v0_0_c_ifspec;
  21515. extern RPC_IF_HANDLE __MIDL_itf_strmif_0367_v0_0_s_ifspec;
  21516.  
  21517. #ifndef __IAMDecoderCaps_INTERFACE_DEFINED__
  21518. #define __IAMDecoderCaps_INTERFACE_DEFINED__
  21519.  
  21520. /* interface IAMDecoderCaps */
  21521. /* [unique][uuid][local][object] */ 
  21522.  
  21523.  
  21524. EXTERN_C const IID IID_IAMDecoderCaps;
  21525.  
  21526. #if defined(__cplusplus) && !defined(CINTERFACE)
  21527.     
  21528.     MIDL_INTERFACE("c0dff467-d499-4986-972b-e1d9090fa941")
  21529.     IAMDecoderCaps : public IUnknown
  21530.     {
  21531.     public:
  21532.         virtual HRESULT STDMETHODCALLTYPE GetDecoderCaps( 
  21533.             /* [in] */ DWORD dwCapIndex,
  21534.             /* [out] */ DWORD *lpdwCap) = 0;
  21535.         
  21536.     };
  21537.     
  21538. #else     /* C style interface */
  21539.  
  21540.     typedef struct IAMDecoderCapsVtbl
  21541.     {
  21542.         BEGIN_INTERFACE
  21543.         
  21544.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  21545.             IAMDecoderCaps * This,
  21546.             /* [in] */ REFIID riid,
  21547.             /* [iid_is][out] */ void **ppvObject);
  21548.         
  21549.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  21550.             IAMDecoderCaps * This);
  21551.         
  21552.         ULONG ( STDMETHODCALLTYPE *Release )( 
  21553.             IAMDecoderCaps * This);
  21554.         
  21555.         HRESULT ( STDMETHODCALLTYPE *GetDecoderCaps )( 
  21556.             IAMDecoderCaps * This,
  21557.             /* [in] */ DWORD dwCapIndex,
  21558.             /* [out] */ DWORD *lpdwCap);
  21559.         
  21560.         END_INTERFACE
  21561.     } IAMDecoderCapsVtbl;
  21562.  
  21563.     interface IAMDecoderCaps
  21564.     {
  21565.         CONST_VTBL struct IAMDecoderCapsVtbl *lpVtbl;
  21566.     };
  21567.  
  21568.     
  21569.  
  21570. #ifdef COBJMACROS
  21571.  
  21572.  
  21573. #define IAMDecoderCaps_QueryInterface(This,riid,ppvObject)    \
  21574.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  21575.  
  21576. #define IAMDecoderCaps_AddRef(This)    \
  21577.     (This)->lpVtbl -> AddRef(This)
  21578.  
  21579. #define IAMDecoderCaps_Release(This)    \
  21580.     (This)->lpVtbl -> Release(This)
  21581.  
  21582.  
  21583. #define IAMDecoderCaps_GetDecoderCaps(This,dwCapIndex,lpdwCap)    \
  21584.     (This)->lpVtbl -> GetDecoderCaps(This,dwCapIndex,lpdwCap)
  21585.  
  21586. #endif /* COBJMACROS */
  21587.  
  21588.  
  21589. #endif     /* C style interface */
  21590.  
  21591.  
  21592.  
  21593. HRESULT STDMETHODCALLTYPE IAMDecoderCaps_GetDecoderCaps_Proxy( 
  21594.     IAMDecoderCaps * This,
  21595.     /* [in] */ DWORD dwCapIndex,
  21596.     /* [out] */ DWORD *lpdwCap);
  21597.  
  21598.  
  21599. void __RPC_STUB IAMDecoderCaps_GetDecoderCaps_Stub(
  21600.     IRpcStubBuffer *This,
  21601.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21602.     PRPC_MESSAGE _pRpcMessage,
  21603.     DWORD *_pdwStubPhase);
  21604.  
  21605.  
  21606.  
  21607. #endif     /* __IAMDecoderCaps_INTERFACE_DEFINED__ */
  21608.  
  21609.  
  21610. /* interface __MIDL_itf_strmif_0368 */
  21611. /* [local] */ 
  21612.  
  21613. typedef struct _AMCOPPSignature
  21614.     {
  21615.     BYTE Signature[ 256 ];
  21616.     }     AMCOPPSignature;
  21617.  
  21618. typedef struct _AMCOPPCommand
  21619.     {
  21620.     GUID macKDI;
  21621.     GUID guidCommandID;
  21622.     DWORD dwSequence;
  21623.     DWORD cbSizeData;
  21624.     BYTE CommandData[ 4056 ];
  21625.     }     AMCOPPCommand;
  21626.  
  21627. typedef struct _AMCOPPCommand *LPAMCOPPCommand;
  21628.  
  21629. typedef struct _AMCOPPStatusInput
  21630.     {
  21631.     GUID rApp;
  21632.     GUID guidStatusRequestID;
  21633.     DWORD dwSequence;
  21634.     DWORD cbSizeData;
  21635.     BYTE StatusData[ 4056 ];
  21636.     }     AMCOPPStatusInput;
  21637.  
  21638. typedef struct _AMCOPPStatusInput *LPAMCOPPStatusInput;
  21639.  
  21640. typedef struct _AMCOPPStatusOutput
  21641.     {
  21642.     GUID macKDI;
  21643.     DWORD cbSizeData;
  21644.     BYTE COPPStatus[ 4076 ];
  21645.     }     AMCOPPStatusOutput;
  21646.  
  21647. typedef struct _AMCOPPStatusOutput *LPAMCOPPStatusOutput;
  21648.  
  21649.  
  21650.  
  21651. extern RPC_IF_HANDLE __MIDL_itf_strmif_0368_v0_0_c_ifspec;
  21652. extern RPC_IF_HANDLE __MIDL_itf_strmif_0368_v0_0_s_ifspec;
  21653.  
  21654. #ifndef __IAMCertifiedOutputProtection_INTERFACE_DEFINED__
  21655. #define __IAMCertifiedOutputProtection_INTERFACE_DEFINED__
  21656.  
  21657. /* interface IAMCertifiedOutputProtection */
  21658. /* [unique][uuid][local][object] */ 
  21659.  
  21660.  
  21661. EXTERN_C const IID IID_IAMCertifiedOutputProtection;
  21662.  
  21663. #if defined(__cplusplus) && !defined(CINTERFACE)
  21664.     
  21665.     MIDL_INTERFACE("6feded3e-0ff1-4901-a2f1-43f7012c8515")
  21666.     IAMCertifiedOutputProtection : public IUnknown
  21667.     {
  21668.     public:
  21669.         virtual HRESULT STDMETHODCALLTYPE KeyExchange( 
  21670.             /* [out] */ GUID *pRandom,
  21671.             /* [out] */ BYTE **VarLenCertGH,
  21672.             /* [out] */ DWORD *pdwLengthCertGH) = 0;
  21673.         
  21674.         virtual HRESULT STDMETHODCALLTYPE SessionSequenceStart( 
  21675.             /* [in] */ AMCOPPSignature *pSig) = 0;
  21676.         
  21677.         virtual HRESULT STDMETHODCALLTYPE ProtectionCommand( 
  21678.             /* [in] */ const AMCOPPCommand *cmd) = 0;
  21679.         
  21680.         virtual HRESULT STDMETHODCALLTYPE ProtectionStatus( 
  21681.             /* [in] */ const AMCOPPStatusInput *pStatusInput,
  21682.             /* [out] */ AMCOPPStatusOutput *pStatusOutput) = 0;
  21683.         
  21684.     };
  21685.     
  21686. #else     /* C style interface */
  21687.  
  21688.     typedef struct IAMCertifiedOutputProtectionVtbl
  21689.     {
  21690.         BEGIN_INTERFACE
  21691.         
  21692.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  21693.             IAMCertifiedOutputProtection * This,
  21694.             /* [in] */ REFIID riid,
  21695.             /* [iid_is][out] */ void **ppvObject);
  21696.         
  21697.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  21698.             IAMCertifiedOutputProtection * This);
  21699.         
  21700.         ULONG ( STDMETHODCALLTYPE *Release )( 
  21701.             IAMCertifiedOutputProtection * This);
  21702.         
  21703.         HRESULT ( STDMETHODCALLTYPE *KeyExchange )( 
  21704.             IAMCertifiedOutputProtection * This,
  21705.             /* [out] */ GUID *pRandom,
  21706.             /* [out] */ BYTE **VarLenCertGH,
  21707.             /* [out] */ DWORD *pdwLengthCertGH);
  21708.         
  21709.         HRESULT ( STDMETHODCALLTYPE *SessionSequenceStart )( 
  21710.             IAMCertifiedOutputProtection * This,
  21711.             /* [in] */ AMCOPPSignature *pSig);
  21712.         
  21713.         HRESULT ( STDMETHODCALLTYPE *ProtectionCommand )( 
  21714.             IAMCertifiedOutputProtection * This,
  21715.             /* [in] */ const AMCOPPCommand *cmd);
  21716.         
  21717.         HRESULT ( STDMETHODCALLTYPE *ProtectionStatus )( 
  21718.             IAMCertifiedOutputProtection * This,
  21719.             /* [in] */ const AMCOPPStatusInput *pStatusInput,
  21720.             /* [out] */ AMCOPPStatusOutput *pStatusOutput);
  21721.         
  21722.         END_INTERFACE
  21723.     } IAMCertifiedOutputProtectionVtbl;
  21724.  
  21725.     interface IAMCertifiedOutputProtection
  21726.     {
  21727.         CONST_VTBL struct IAMCertifiedOutputProtectionVtbl *lpVtbl;
  21728.     };
  21729.  
  21730.     
  21731.  
  21732. #ifdef COBJMACROS
  21733.  
  21734.  
  21735. #define IAMCertifiedOutputProtection_QueryInterface(This,riid,ppvObject)    \
  21736.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  21737.  
  21738. #define IAMCertifiedOutputProtection_AddRef(This)    \
  21739.     (This)->lpVtbl -> AddRef(This)
  21740.  
  21741. #define IAMCertifiedOutputProtection_Release(This)    \
  21742.     (This)->lpVtbl -> Release(This)
  21743.  
  21744.  
  21745. #define IAMCertifiedOutputProtection_KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH)    \
  21746.     (This)->lpVtbl -> KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH)
  21747.  
  21748. #define IAMCertifiedOutputProtection_SessionSequenceStart(This,pSig)    \
  21749.     (This)->lpVtbl -> SessionSequenceStart(This,pSig)
  21750.  
  21751. #define IAMCertifiedOutputProtection_ProtectionCommand(This,cmd)    \
  21752.     (This)->lpVtbl -> ProtectionCommand(This,cmd)
  21753.  
  21754. #define IAMCertifiedOutputProtection_ProtectionStatus(This,pStatusInput,pStatusOutput)    \
  21755.     (This)->lpVtbl -> ProtectionStatus(This,pStatusInput,pStatusOutput)
  21756.  
  21757. #endif /* COBJMACROS */
  21758.  
  21759.  
  21760. #endif     /* C style interface */
  21761.  
  21762.  
  21763.  
  21764. HRESULT STDMETHODCALLTYPE IAMCertifiedOutputProtection_KeyExchange_Proxy( 
  21765.     IAMCertifiedOutputProtection * This,
  21766.     /* [out] */ GUID *pRandom,
  21767.     /* [out] */ BYTE **VarLenCertGH,
  21768.     /* [out] */ DWORD *pdwLengthCertGH);
  21769.  
  21770.  
  21771. void __RPC_STUB IAMCertifiedOutputProtection_KeyExchange_Stub(
  21772.     IRpcStubBuffer *This,
  21773.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21774.     PRPC_MESSAGE _pRpcMessage,
  21775.     DWORD *_pdwStubPhase);
  21776.  
  21777.  
  21778. HRESULT STDMETHODCALLTYPE IAMCertifiedOutputProtection_SessionSequenceStart_Proxy( 
  21779.     IAMCertifiedOutputProtection * This,
  21780.     /* [in] */ AMCOPPSignature *pSig);
  21781.  
  21782.  
  21783. void __RPC_STUB IAMCertifiedOutputProtection_SessionSequenceStart_Stub(
  21784.     IRpcStubBuffer *This,
  21785.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21786.     PRPC_MESSAGE _pRpcMessage,
  21787.     DWORD *_pdwStubPhase);
  21788.  
  21789.  
  21790. HRESULT STDMETHODCALLTYPE IAMCertifiedOutputProtection_ProtectionCommand_Proxy( 
  21791.     IAMCertifiedOutputProtection * This,
  21792.     /* [in] */ const AMCOPPCommand *cmd);
  21793.  
  21794.  
  21795. void __RPC_STUB IAMCertifiedOutputProtection_ProtectionCommand_Stub(
  21796.     IRpcStubBuffer *This,
  21797.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21798.     PRPC_MESSAGE _pRpcMessage,
  21799.     DWORD *_pdwStubPhase);
  21800.  
  21801.  
  21802. HRESULT STDMETHODCALLTYPE IAMCertifiedOutputProtection_ProtectionStatus_Proxy( 
  21803.     IAMCertifiedOutputProtection * This,
  21804.     /* [in] */ const AMCOPPStatusInput *pStatusInput,
  21805.     /* [out] */ AMCOPPStatusOutput *pStatusOutput);
  21806.  
  21807.  
  21808. void __RPC_STUB IAMCertifiedOutputProtection_ProtectionStatus_Stub(
  21809.     IRpcStubBuffer *This,
  21810.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21811.     PRPC_MESSAGE _pRpcMessage,
  21812.     DWORD *_pdwStubPhase);
  21813.  
  21814.  
  21815.  
  21816. #endif     /* __IAMCertifiedOutputProtection_INTERFACE_DEFINED__ */
  21817.  
  21818.  
  21819. /* interface __MIDL_itf_strmif_0369 */
  21820. /* [local] */ 
  21821.  
  21822. #include <ddraw.h>
  21823.  
  21824.  
  21825.  
  21826.  
  21827.  
  21828.  
  21829.  
  21830.  
  21831.  
  21832. typedef 
  21833. enum tagDVD_DOMAIN
  21834.     {    DVD_DOMAIN_FirstPlay    = 1,
  21835.     DVD_DOMAIN_VideoManagerMenu    = DVD_DOMAIN_FirstPlay + 1,
  21836.     DVD_DOMAIN_VideoTitleSetMenu    = DVD_DOMAIN_VideoManagerMenu + 1,
  21837.     DVD_DOMAIN_Title    = DVD_DOMAIN_VideoTitleSetMenu + 1,
  21838.     DVD_DOMAIN_Stop    = DVD_DOMAIN_Title + 1
  21839.     }     DVD_DOMAIN;
  21840.  
  21841. typedef 
  21842. enum tagDVD_MENU_ID
  21843.     {    DVD_MENU_Title    = 2,
  21844.     DVD_MENU_Root    = 3,
  21845.     DVD_MENU_Subpicture    = 4,
  21846.     DVD_MENU_Audio    = 5,
  21847.     DVD_MENU_Angle    = 6,
  21848.     DVD_MENU_Chapter    = 7
  21849.     }     DVD_MENU_ID;
  21850.  
  21851. typedef 
  21852. enum tagDVD_DISC_SIDE
  21853.     {    DVD_SIDE_A    = 1,
  21854.     DVD_SIDE_B    = 2
  21855.     }     DVD_DISC_SIDE;
  21856.  
  21857. typedef 
  21858. enum tagDVD_PREFERRED_DISPLAY_MODE
  21859.     {    DISPLAY_CONTENT_DEFAULT    = 0,
  21860.     DISPLAY_16x9    = 1,
  21861.     DISPLAY_4x3_PANSCAN_PREFERRED    = 2,
  21862.     DISPLAY_4x3_LETTERBOX_PREFERRED    = 3
  21863.     }     DVD_PREFERRED_DISPLAY_MODE;
  21864.  
  21865. typedef WORD DVD_REGISTER;
  21866.  
  21867. typedef DVD_REGISTER GPRMARRAY[ 16 ];
  21868.  
  21869. typedef DVD_REGISTER SPRMARRAY[ 24 ];
  21870.  
  21871. typedef struct tagDVD_ATR
  21872.     {
  21873.     ULONG ulCAT;
  21874.     BYTE pbATRI[ 768 ];
  21875.     }     DVD_ATR;
  21876.  
  21877. typedef BYTE DVD_VideoATR[ 2 ];
  21878.  
  21879. typedef BYTE DVD_AudioATR[ 8 ];
  21880.  
  21881. typedef BYTE DVD_SubpictureATR[ 6 ];
  21882.  
  21883. typedef 
  21884. enum tagDVD_FRAMERATE
  21885.     {    DVD_FPS_25    = 1,
  21886.     DVD_FPS_30NonDrop    = 3
  21887.     }     DVD_FRAMERATE;
  21888.  
  21889. typedef struct tagDVD_TIMECODE
  21890. {
  21891.    ULONG Hours1    :4; // Hours
  21892.    ULONG Hours10  :4; // Tens of Hours 
  21893.  
  21894.    ULONG Minutes1  :4; // Minutes 
  21895.    ULONG Minutes10:4; // Tens of Minutes 
  21896.  
  21897.    ULONG Seconds1  :4; // Seconds 
  21898.    ULONG Seconds10:4; // Tens of Seconds 
  21899.  
  21900.    ULONG Frames1   :4; // Frames 
  21901.    ULONG Frames10 :2; // Tens of Frames 
  21902.  
  21903.    ULONG FrameRateCode: 2; // use DVD_FRAMERATE to indicate frames/sec and drop/non-drop
  21904. } DVD_TIMECODE;
  21905. typedef 
  21906. enum tagDVD_TIMECODE_FLAGS
  21907.     {    DVD_TC_FLAG_25fps    = 0x1,
  21908.     DVD_TC_FLAG_30fps    = 0x2,
  21909.     DVD_TC_FLAG_DropFrame    = 0x4,
  21910.     DVD_TC_FLAG_Interpolated    = 0x8
  21911.     }     DVD_TIMECODE_FLAGS;
  21912.  
  21913. typedef struct tagDVD_HMSF_TIMECODE
  21914.     {
  21915.     BYTE bHours;
  21916.     BYTE bMinutes;
  21917.     BYTE bSeconds;
  21918.     BYTE bFrames;
  21919.     }     DVD_HMSF_TIMECODE;
  21920.  
  21921. typedef struct tagDVD_PLAYBACK_LOCATION2
  21922.     {
  21923.     ULONG TitleNum;
  21924.     ULONG ChapterNum;
  21925.     DVD_HMSF_TIMECODE TimeCode;
  21926.     ULONG TimeCodeFlags;
  21927.     }     DVD_PLAYBACK_LOCATION2;
  21928.  
  21929. typedef struct tagDVD_PLAYBACK_LOCATION
  21930.     {
  21931.     ULONG TitleNum;
  21932.     ULONG ChapterNum;
  21933.     ULONG TimeCode;
  21934.     }     DVD_PLAYBACK_LOCATION;
  21935.  
  21936. typedef DWORD VALID_UOP_SOMTHING_OR_OTHER;
  21937.  
  21938. typedef /* [public] */ 
  21939. enum __MIDL___MIDL_itf_strmif_0369_0001
  21940.     {    UOP_FLAG_Play_Title_Or_AtTime    = 0x1,
  21941.     UOP_FLAG_Play_Chapter    = 0x2,
  21942.     UOP_FLAG_Play_Title    = 0x4,
  21943.     UOP_FLAG_Stop    = 0x8,
  21944.     UOP_FLAG_ReturnFromSubMenu    = 0x10,
  21945.     UOP_FLAG_Play_Chapter_Or_AtTime    = 0x20,
  21946.     UOP_FLAG_PlayPrev_Or_Replay_Chapter    = 0x40,
  21947.     UOP_FLAG_PlayNext_Chapter    = 0x80,
  21948.     UOP_FLAG_Play_Forwards    = 0x100,
  21949.     UOP_FLAG_Play_Backwards    = 0x200,
  21950.     UOP_FLAG_ShowMenu_Title    = 0x400,
  21951.     UOP_FLAG_ShowMenu_Root    = 0x800,
  21952.     UOP_FLAG_ShowMenu_SubPic    = 0x1000,
  21953.     UOP_FLAG_ShowMenu_Audio    = 0x2000,
  21954.     UOP_FLAG_ShowMenu_Angle    = 0x4000,
  21955.     UOP_FLAG_ShowMenu_Chapter    = 0x8000,
  21956.     UOP_FLAG_Resume    = 0x10000,
  21957.     UOP_FLAG_Select_Or_Activate_Button    = 0x20000,
  21958.     UOP_FLAG_Still_Off    = 0x40000,
  21959.     UOP_FLAG_Pause_On    = 0x80000,
  21960.     UOP_FLAG_Select_Audio_Stream    = 0x100000,
  21961.     UOP_FLAG_Select_SubPic_Stream    = 0x200000,
  21962.     UOP_FLAG_Select_Angle    = 0x400000,
  21963.     UOP_FLAG_Select_Karaoke_Audio_Presentation_Mode    = 0x800000,
  21964.     UOP_FLAG_Select_Video_Mode_Preference    = 0x1000000
  21965.     }     VALID_UOP_FLAG;
  21966.  
  21967. typedef /* [public] */ 
  21968. enum __MIDL___MIDL_itf_strmif_0369_0002
  21969.     {    DVD_CMD_FLAG_None    = 0,
  21970.     DVD_CMD_FLAG_Flush    = 0x1,
  21971.     DVD_CMD_FLAG_SendEvents    = 0x2,
  21972.     DVD_CMD_FLAG_Block    = 0x4,
  21973.     DVD_CMD_FLAG_StartWhenRendered    = 0x8,
  21974.     DVD_CMD_FLAG_EndAfterRendered    = 0x10
  21975.     }     DVD_CMD_FLAGS;
  21976.  
  21977. typedef /* [public][public] */ 
  21978. enum __MIDL___MIDL_itf_strmif_0369_0003
  21979.     {    DVD_ResetOnStop    = 1,
  21980.     DVD_NotifyParentalLevelChange    = 2,
  21981.     DVD_HMSF_TimeCodeEvents    = 3,
  21982.     DVD_AudioDuringFFwdRew    = 4
  21983.     }     DVD_OPTION_FLAG;
  21984.  
  21985. typedef /* [public][public] */ 
  21986. enum __MIDL___MIDL_itf_strmif_0369_0004
  21987.     {    DVD_Relative_Upper    = 1,
  21988.     DVD_Relative_Lower    = 2,
  21989.     DVD_Relative_Left    = 3,
  21990.     DVD_Relative_Right    = 4
  21991.     }     DVD_RELATIVE_BUTTON;
  21992.  
  21993. typedef 
  21994. enum tagDVD_PARENTAL_LEVEL
  21995.     {    DVD_PARENTAL_LEVEL_8    = 0x8000,
  21996.     DVD_PARENTAL_LEVEL_7    = 0x4000,
  21997.     DVD_PARENTAL_LEVEL_6    = 0x2000,
  21998.     DVD_PARENTAL_LEVEL_5    = 0x1000,
  21999.     DVD_PARENTAL_LEVEL_4    = 0x800,
  22000.     DVD_PARENTAL_LEVEL_3    = 0x400,
  22001.     DVD_PARENTAL_LEVEL_2    = 0x200,
  22002.     DVD_PARENTAL_LEVEL_1    = 0x100
  22003.     }     DVD_PARENTAL_LEVEL;
  22004.  
  22005. typedef 
  22006. enum tagDVD_AUDIO_LANG_EXT
  22007.     {    DVD_AUD_EXT_NotSpecified    = 0,
  22008.     DVD_AUD_EXT_Captions    = 1,
  22009.     DVD_AUD_EXT_VisuallyImpaired    = 2,
  22010.     DVD_AUD_EXT_DirectorComments1    = 3,
  22011.     DVD_AUD_EXT_DirectorComments2    = 4
  22012.     }     DVD_AUDIO_LANG_EXT;
  22013.  
  22014. typedef 
  22015. enum tagDVD_SUBPICTURE_LANG_EXT
  22016.     {    DVD_SP_EXT_NotSpecified    = 0,
  22017.     DVD_SP_EXT_Caption_Normal    = 1,
  22018.     DVD_SP_EXT_Caption_Big    = 2,
  22019.     DVD_SP_EXT_Caption_Children    = 3,
  22020.     DVD_SP_EXT_CC_Normal    = 5,
  22021.     DVD_SP_EXT_CC_Big    = 6,
  22022.     DVD_SP_EXT_CC_Children    = 7,
  22023.     DVD_SP_EXT_Forced    = 9,
  22024.     DVD_SP_EXT_DirectorComments_Normal    = 13,
  22025.     DVD_SP_EXT_DirectorComments_Big    = 14,
  22026.     DVD_SP_EXT_DirectorComments_Children    = 15
  22027.     }     DVD_SUBPICTURE_LANG_EXT;
  22028.  
  22029. typedef 
  22030. enum tagDVD_AUDIO_APPMODE
  22031.     {    DVD_AudioMode_None    = 0,
  22032.     DVD_AudioMode_Karaoke    = 1,
  22033.     DVD_AudioMode_Surround    = 2,
  22034.     DVD_AudioMode_Other    = 3
  22035.     }     DVD_AUDIO_APPMODE;
  22036.  
  22037. typedef 
  22038. enum tagDVD_AUDIO_FORMAT
  22039.     {    DVD_AudioFormat_AC3    = 0,
  22040.     DVD_AudioFormat_MPEG1    = 1,
  22041.     DVD_AudioFormat_MPEG1_DRC    = 2,
  22042.     DVD_AudioFormat_MPEG2    = 3,
  22043.     DVD_AudioFormat_MPEG2_DRC    = 4,
  22044.     DVD_AudioFormat_LPCM    = 5,
  22045.     DVD_AudioFormat_DTS    = 6,
  22046.     DVD_AudioFormat_SDDS    = 7,
  22047.     DVD_AudioFormat_Other    = 8
  22048.     }     DVD_AUDIO_FORMAT;
  22049.  
  22050. typedef 
  22051. enum tagDVD_KARAOKE_DOWNMIX
  22052.     {    DVD_Mix_0to0    = 0x1,
  22053.     DVD_Mix_1to0    = 0x2,
  22054.     DVD_Mix_2to0    = 0x4,
  22055.     DVD_Mix_3to0    = 0x8,
  22056.     DVD_Mix_4to0    = 0x10,
  22057.     DVD_Mix_Lto0    = 0x20,
  22058.     DVD_Mix_Rto0    = 0x40,
  22059.     DVD_Mix_0to1    = 0x100,
  22060.     DVD_Mix_1to1    = 0x200,
  22061.     DVD_Mix_2to1    = 0x400,
  22062.     DVD_Mix_3to1    = 0x800,
  22063.     DVD_Mix_4to1    = 0x1000,
  22064.     DVD_Mix_Lto1    = 0x2000,
  22065.     DVD_Mix_Rto1    = 0x4000
  22066.     }     DVD_KARAOKE_DOWNMIX;
  22067.  
  22068. typedef struct tagDVD_AudioAttributes
  22069.     {
  22070.     DVD_AUDIO_APPMODE AppMode;
  22071.     BYTE AppModeData;
  22072.     DVD_AUDIO_FORMAT AudioFormat;
  22073.     LCID Language;
  22074.     DVD_AUDIO_LANG_EXT LanguageExtension;
  22075.     BOOL fHasMultichannelInfo;
  22076.     DWORD dwFrequency;
  22077.     BYTE bQuantization;
  22078.     BYTE bNumberOfChannels;
  22079.     DWORD dwReserved[ 2 ];
  22080.     }     DVD_AudioAttributes;
  22081.  
  22082. typedef struct tagDVD_MUA_MixingInfo
  22083.     {
  22084.     BOOL fMixTo0;
  22085.     BOOL fMixTo1;
  22086.     BOOL fMix0InPhase;
  22087.     BOOL fMix1InPhase;
  22088.     DWORD dwSpeakerPosition;
  22089.     }     DVD_MUA_MixingInfo;
  22090.  
  22091. typedef struct tagDVD_MUA_Coeff
  22092.     {
  22093.     double log2_alpha;
  22094.     double log2_beta;
  22095.     }     DVD_MUA_Coeff;
  22096.  
  22097. typedef struct tagDVD_MultichannelAudioAttributes
  22098.     {
  22099.     DVD_MUA_MixingInfo Info[ 8 ];
  22100.     DVD_MUA_Coeff Coeff[ 8 ];
  22101.     }     DVD_MultichannelAudioAttributes;
  22102.  
  22103. typedef 
  22104. enum tagDVD_KARAOKE_CONTENTS
  22105.     {    DVD_Karaoke_GuideVocal1    = 0x1,
  22106.     DVD_Karaoke_GuideVocal2    = 0x2,
  22107.     DVD_Karaoke_GuideMelody1    = 0x4,
  22108.     DVD_Karaoke_GuideMelody2    = 0x8,
  22109.     DVD_Karaoke_GuideMelodyA    = 0x10,
  22110.     DVD_Karaoke_GuideMelodyB    = 0x20,
  22111.     DVD_Karaoke_SoundEffectA    = 0x40,
  22112.     DVD_Karaoke_SoundEffectB    = 0x80
  22113.     }     DVD_KARAOKE_CONTENTS;
  22114.  
  22115. typedef 
  22116. enum tagDVD_KARAOKE_ASSIGNMENT
  22117.     {    DVD_Assignment_reserved0    = 0,
  22118.     DVD_Assignment_reserved1    = 1,
  22119.     DVD_Assignment_LR    = 2,
  22120.     DVD_Assignment_LRM    = 3,
  22121.     DVD_Assignment_LR1    = 4,
  22122.     DVD_Assignment_LRM1    = 5,
  22123.     DVD_Assignment_LR12    = 6,
  22124.     DVD_Assignment_LRM12    = 7
  22125.     }     DVD_KARAOKE_ASSIGNMENT;
  22126.  
  22127. typedef struct tagDVD_KaraokeAttributes
  22128.     {
  22129.     BYTE bVersion;
  22130.     BOOL fMasterOfCeremoniesInGuideVocal1;
  22131.     BOOL fDuet;
  22132.     DVD_KARAOKE_ASSIGNMENT ChannelAssignment;
  22133.     WORD wChannelContents[ 8 ];
  22134.     }     DVD_KaraokeAttributes;
  22135.  
  22136. typedef 
  22137. enum tagDVD_VIDEO_COMPRESSION
  22138.     {    DVD_VideoCompression_Other    = 0,
  22139.     DVD_VideoCompression_MPEG1    = 1,
  22140.     DVD_VideoCompression_MPEG2    = 2
  22141.     }     DVD_VIDEO_COMPRESSION;
  22142.  
  22143. typedef struct tagDVD_VideoAttributes
  22144.     {
  22145.     BOOL fPanscanPermitted;
  22146.     BOOL fLetterboxPermitted;
  22147.     ULONG ulAspectX;
  22148.     ULONG ulAspectY;
  22149.     ULONG ulFrameRate;
  22150.     ULONG ulFrameHeight;
  22151.     DVD_VIDEO_COMPRESSION Compression;
  22152.     BOOL fLine21Field1InGOP;
  22153.     BOOL fLine21Field2InGOP;
  22154.     ULONG ulSourceResolutionX;
  22155.     ULONG ulSourceResolutionY;
  22156.     BOOL fIsSourceLetterboxed;
  22157.     BOOL fIsFilmMode;
  22158.     }     DVD_VideoAttributes;
  22159.  
  22160. typedef 
  22161. enum tagDVD_SUBPICTURE_TYPE
  22162.     {    DVD_SPType_NotSpecified    = 0,
  22163.     DVD_SPType_Language    = 1,
  22164.     DVD_SPType_Other    = 2
  22165.     }     DVD_SUBPICTURE_TYPE;
  22166.  
  22167. typedef 
  22168. enum tagDVD_SUBPICTURE_CODING
  22169.     {    DVD_SPCoding_RunLength    = 0,
  22170.     DVD_SPCoding_Extended    = 1,
  22171.     DVD_SPCoding_Other    = 2
  22172.     }     DVD_SUBPICTURE_CODING;
  22173.  
  22174. typedef struct tagDVD_SubpictureAttributes
  22175.     {
  22176.     DVD_SUBPICTURE_TYPE Type;
  22177.     DVD_SUBPICTURE_CODING CodingMode;
  22178.     LCID Language;
  22179.     DVD_SUBPICTURE_LANG_EXT LanguageExtension;
  22180.     }     DVD_SubpictureAttributes;
  22181.  
  22182. typedef 
  22183. enum tagDVD_TITLE_APPMODE
  22184.     {    DVD_AppMode_Not_Specified    = 0,
  22185.     DVD_AppMode_Karaoke    = 1,
  22186.     DVD_AppMode_Other    = 3
  22187.     }     DVD_TITLE_APPMODE;
  22188.  
  22189. typedef struct tagDVD_TitleMainAttributes
  22190.     {
  22191.     DVD_TITLE_APPMODE AppMode;
  22192.     DVD_VideoAttributes VideoAttributes;
  22193.     ULONG ulNumberOfAudioStreams;
  22194.     DVD_AudioAttributes AudioAttributes[ 8 ];
  22195.     DVD_MultichannelAudioAttributes MultichannelAudioAttributes[ 8 ];
  22196.     ULONG ulNumberOfSubpictureStreams;
  22197.     DVD_SubpictureAttributes SubpictureAttributes[ 32 ];
  22198.     }     DVD_TitleAttributes;
  22199.  
  22200. typedef struct tagDVD_MenuAttributes
  22201.     {
  22202.     BOOL fCompatibleRegion[ 8 ];
  22203.     DVD_VideoAttributes VideoAttributes;
  22204.     BOOL fAudioPresent;
  22205.     DVD_AudioAttributes AudioAttributes;
  22206.     BOOL fSubpicturePresent;
  22207.     DVD_SubpictureAttributes SubpictureAttributes;
  22208.     }     DVD_MenuAttributes;
  22209.  
  22210.  
  22211.  
  22212. extern RPC_IF_HANDLE __MIDL_itf_strmif_0369_v0_0_c_ifspec;
  22213. extern RPC_IF_HANDLE __MIDL_itf_strmif_0369_v0_0_s_ifspec;
  22214.  
  22215. #ifndef __IDvdControl_INTERFACE_DEFINED__
  22216. #define __IDvdControl_INTERFACE_DEFINED__
  22217.  
  22218. /* interface IDvdControl */
  22219. /* [unique][uuid][object] */ 
  22220.  
  22221.  
  22222. EXTERN_C const IID IID_IDvdControl;
  22223.  
  22224. #if defined(__cplusplus) && !defined(CINTERFACE)
  22225.     
  22226.     MIDL_INTERFACE("A70EFE61-E2A3-11d0-A9BE-00AA0061BE93")
  22227.     IDvdControl : public IUnknown
  22228.     {
  22229.     public:
  22230.         virtual HRESULT STDMETHODCALLTYPE TitlePlay( 
  22231.             /* [in] */ ULONG ulTitle) = 0;
  22232.         
  22233.         virtual HRESULT STDMETHODCALLTYPE ChapterPlay( 
  22234.             /* [in] */ ULONG ulTitle,
  22235.             /* [in] */ ULONG ulChapter) = 0;
  22236.         
  22237.         virtual HRESULT STDMETHODCALLTYPE TimePlay( 
  22238.             /* [in] */ ULONG ulTitle,
  22239.             /* [in] */ ULONG bcdTime) = 0;
  22240.         
  22241.         virtual HRESULT STDMETHODCALLTYPE StopForResume( void) = 0;
  22242.         
  22243.         virtual HRESULT STDMETHODCALLTYPE GoUp( void) = 0;
  22244.         
  22245.         virtual HRESULT STDMETHODCALLTYPE TimeSearch( 
  22246.             /* [in] */ ULONG bcdTime) = 0;
  22247.         
  22248.         virtual HRESULT STDMETHODCALLTYPE ChapterSearch( 
  22249.             /* [in] */ ULONG ulChapter) = 0;
  22250.         
  22251.         virtual HRESULT STDMETHODCALLTYPE PrevPGSearch( void) = 0;
  22252.         
  22253.         virtual HRESULT STDMETHODCALLTYPE TopPGSearch( void) = 0;
  22254.         
  22255.         virtual HRESULT STDMETHODCALLTYPE NextPGSearch( void) = 0;
  22256.         
  22257.         virtual HRESULT STDMETHODCALLTYPE ForwardScan( 
  22258.             /* [in] */ double dwSpeed) = 0;
  22259.         
  22260.         virtual HRESULT STDMETHODCALLTYPE BackwardScan( 
  22261.             /* [in] */ double dwSpeed) = 0;
  22262.         
  22263.         virtual HRESULT STDMETHODCALLTYPE MenuCall( 
  22264.             /* [in] */ DVD_MENU_ID MenuID) = 0;
  22265.         
  22266.         virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
  22267.         
  22268.         virtual HRESULT STDMETHODCALLTYPE UpperButtonSelect( void) = 0;
  22269.         
  22270.         virtual HRESULT STDMETHODCALLTYPE LowerButtonSelect( void) = 0;
  22271.         
  22272.         virtual HRESULT STDMETHODCALLTYPE LeftButtonSelect( void) = 0;
  22273.         
  22274.         virtual HRESULT STDMETHODCALLTYPE RightButtonSelect( void) = 0;
  22275.         
  22276.         virtual HRESULT STDMETHODCALLTYPE ButtonActivate( void) = 0;
  22277.         
  22278.         virtual HRESULT STDMETHODCALLTYPE ButtonSelectAndActivate( 
  22279.             /* [in] */ ULONG ulButton) = 0;
  22280.         
  22281.         virtual HRESULT STDMETHODCALLTYPE StillOff( void) = 0;
  22282.         
  22283.         virtual HRESULT STDMETHODCALLTYPE PauseOn( void) = 0;
  22284.         
  22285.         virtual HRESULT STDMETHODCALLTYPE PauseOff( void) = 0;
  22286.         
  22287.         virtual HRESULT STDMETHODCALLTYPE MenuLanguageSelect( 
  22288.             /* [in] */ LCID Language) = 0;
  22289.         
  22290.         virtual HRESULT STDMETHODCALLTYPE AudioStreamChange( 
  22291.             /* [in] */ ULONG ulAudio) = 0;
  22292.         
  22293.         virtual HRESULT STDMETHODCALLTYPE SubpictureStreamChange( 
  22294.             /* [in] */ ULONG ulSubPicture,
  22295.             /* [in] */ BOOL bDisplay) = 0;
  22296.         
  22297.         virtual HRESULT STDMETHODCALLTYPE AngleChange( 
  22298.             /* [in] */ ULONG ulAngle) = 0;
  22299.         
  22300.         virtual HRESULT STDMETHODCALLTYPE ParentalLevelSelect( 
  22301.             /* [in] */ ULONG ulParentalLevel) = 0;
  22302.         
  22303.         virtual HRESULT STDMETHODCALLTYPE ParentalCountrySelect( 
  22304.             /* [in] */ WORD wCountry) = 0;
  22305.         
  22306.         virtual HRESULT STDMETHODCALLTYPE KaraokeAudioPresentationModeChange( 
  22307.             /* [in] */ ULONG ulMode) = 0;
  22308.         
  22309.         virtual HRESULT STDMETHODCALLTYPE VideoModePreferrence( 
  22310.             /* [in] */ ULONG ulPreferredDisplayMode) = 0;
  22311.         
  22312.         virtual HRESULT STDMETHODCALLTYPE SetRoot( 
  22313.             /* [in] */ LPCWSTR pszPath) = 0;
  22314.         
  22315.         virtual HRESULT STDMETHODCALLTYPE MouseActivate( 
  22316.             /* [in] */ POINT point) = 0;
  22317.         
  22318.         virtual HRESULT STDMETHODCALLTYPE MouseSelect( 
  22319.             /* [in] */ POINT point) = 0;
  22320.         
  22321.         virtual HRESULT STDMETHODCALLTYPE ChapterPlayAutoStop( 
  22322.             /* [in] */ ULONG ulTitle,
  22323.             /* [in] */ ULONG ulChapter,
  22324.             /* [in] */ ULONG ulChaptersToPlay) = 0;
  22325.         
  22326.     };
  22327.     
  22328. #else     /* C style interface */
  22329.  
  22330.     typedef struct IDvdControlVtbl
  22331.     {
  22332.         BEGIN_INTERFACE
  22333.         
  22334.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  22335.             IDvdControl * This,
  22336.             /* [in] */ REFIID riid,
  22337.             /* [iid_is][out] */ void **ppvObject);
  22338.         
  22339.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  22340.             IDvdControl * This);
  22341.         
  22342.         ULONG ( STDMETHODCALLTYPE *Release )( 
  22343.             IDvdControl * This);
  22344.         
  22345.         HRESULT ( STDMETHODCALLTYPE *TitlePlay )( 
  22346.             IDvdControl * This,
  22347.             /* [in] */ ULONG ulTitle);
  22348.         
  22349.         HRESULT ( STDMETHODCALLTYPE *ChapterPlay )( 
  22350.             IDvdControl * This,
  22351.             /* [in] */ ULONG ulTitle,
  22352.             /* [in] */ ULONG ulChapter);
  22353.         
  22354.         HRESULT ( STDMETHODCALLTYPE *TimePlay )( 
  22355.             IDvdControl * This,
  22356.             /* [in] */ ULONG ulTitle,
  22357.             /* [in] */ ULONG bcdTime);
  22358.         
  22359.         HRESULT ( STDMETHODCALLTYPE *StopForResume )( 
  22360.             IDvdControl * This);
  22361.         
  22362.         HRESULT ( STDMETHODCALLTYPE *GoUp )( 
  22363.             IDvdControl * This);
  22364.         
  22365.         HRESULT ( STDMETHODCALLTYPE *TimeSearch )( 
  22366.             IDvdControl * This,
  22367.             /* [in] */ ULONG bcdTime);
  22368.         
  22369.         HRESULT ( STDMETHODCALLTYPE *ChapterSearch )( 
  22370.             IDvdControl * This,
  22371.             /* [in] */ ULONG ulChapter);
  22372.         
  22373.         HRESULT ( STDMETHODCALLTYPE *PrevPGSearch )( 
  22374.             IDvdControl * This);
  22375.         
  22376.         HRESULT ( STDMETHODCALLTYPE *TopPGSearch )( 
  22377.             IDvdControl * This);
  22378.         
  22379.         HRESULT ( STDMETHODCALLTYPE *NextPGSearch )( 
  22380.             IDvdControl * This);
  22381.         
  22382.         HRESULT ( STDMETHODCALLTYPE *ForwardScan )( 
  22383.             IDvdControl * This,
  22384.             /* [in] */ double dwSpeed);
  22385.         
  22386.         HRESULT ( STDMETHODCALLTYPE *BackwardScan )( 
  22387.             IDvdControl * This,
  22388.             /* [in] */ double dwSpeed);
  22389.         
  22390.         HRESULT ( STDMETHODCALLTYPE *MenuCall )( 
  22391.             IDvdControl * This,
  22392.             /* [in] */ DVD_MENU_ID MenuID);
  22393.         
  22394.         HRESULT ( STDMETHODCALLTYPE *Resume )( 
  22395.             IDvdControl * This);
  22396.         
  22397.         HRESULT ( STDMETHODCALLTYPE *UpperButtonSelect )( 
  22398.             IDvdControl * This);
  22399.         
  22400.         HRESULT ( STDMETHODCALLTYPE *LowerButtonSelect )( 
  22401.             IDvdControl * This);
  22402.         
  22403.         HRESULT ( STDMETHODCALLTYPE *LeftButtonSelect )( 
  22404.             IDvdControl * This);
  22405.         
  22406.         HRESULT ( STDMETHODCALLTYPE *RightButtonSelect )( 
  22407.             IDvdControl * This);
  22408.         
  22409.         HRESULT ( STDMETHODCALLTYPE *ButtonActivate )( 
  22410.             IDvdControl * This);
  22411.         
  22412.         HRESULT ( STDMETHODCALLTYPE *ButtonSelectAndActivate )( 
  22413.             IDvdControl * This,
  22414.             /* [in] */ ULONG ulButton);
  22415.         
  22416.         HRESULT ( STDMETHODCALLTYPE *StillOff )( 
  22417.             IDvdControl * This);
  22418.         
  22419.         HRESULT ( STDMETHODCALLTYPE *PauseOn )( 
  22420.             IDvdControl * This);
  22421.         
  22422.         HRESULT ( STDMETHODCALLTYPE *PauseOff )( 
  22423.             IDvdControl * This);
  22424.         
  22425.         HRESULT ( STDMETHODCALLTYPE *MenuLanguageSelect )( 
  22426.             IDvdControl * This,
  22427.             /* [in] */ LCID Language);
  22428.         
  22429.         HRESULT ( STDMETHODCALLTYPE *AudioStreamChange )( 
  22430.             IDvdControl * This,
  22431.             /* [in] */ ULONG ulAudio);
  22432.         
  22433.         HRESULT ( STDMETHODCALLTYPE *SubpictureStreamChange )( 
  22434.             IDvdControl * This,
  22435.             /* [in] */ ULONG ulSubPicture,
  22436.             /* [in] */ BOOL bDisplay);
  22437.         
  22438.         HRESULT ( STDMETHODCALLTYPE *AngleChange )( 
  22439.             IDvdControl * This,
  22440.             /* [in] */ ULONG ulAngle);
  22441.         
  22442.         HRESULT ( STDMETHODCALLTYPE *ParentalLevelSelect )( 
  22443.             IDvdControl * This,
  22444.             /* [in] */ ULONG ulParentalLevel);
  22445.         
  22446.         HRESULT ( STDMETHODCALLTYPE *ParentalCountrySelect )( 
  22447.             IDvdControl * This,
  22448.             /* [in] */ WORD wCountry);
  22449.         
  22450.         HRESULT ( STDMETHODCALLTYPE *KaraokeAudioPresentationModeChange )( 
  22451.             IDvdControl * This,
  22452.             /* [in] */ ULONG ulMode);
  22453.         
  22454.         HRESULT ( STDMETHODCALLTYPE *VideoModePreferrence )( 
  22455.             IDvdControl * This,
  22456.             /* [in] */ ULONG ulPreferredDisplayMode);
  22457.         
  22458.         HRESULT ( STDMETHODCALLTYPE *SetRoot )( 
  22459.             IDvdControl * This,
  22460.             /* [in] */ LPCWSTR pszPath);
  22461.         
  22462.         HRESULT ( STDMETHODCALLTYPE *MouseActivate )( 
  22463.             IDvdControl * This,
  22464.             /* [in] */ POINT point);
  22465.         
  22466.         HRESULT ( STDMETHODCALLTYPE *MouseSelect )( 
  22467.             IDvdControl * This,
  22468.             /* [in] */ POINT point);
  22469.         
  22470.         HRESULT ( STDMETHODCALLTYPE *ChapterPlayAutoStop )( 
  22471.             IDvdControl * This,
  22472.             /* [in] */ ULONG ulTitle,
  22473.             /* [in] */ ULONG ulChapter,
  22474.             /* [in] */ ULONG ulChaptersToPlay);
  22475.         
  22476.         END_INTERFACE
  22477.     } IDvdControlVtbl;
  22478.  
  22479.     interface IDvdControl
  22480.     {
  22481.         CONST_VTBL struct IDvdControlVtbl *lpVtbl;
  22482.     };
  22483.  
  22484.     
  22485.  
  22486. #ifdef COBJMACROS
  22487.  
  22488.  
  22489. #define IDvdControl_QueryInterface(This,riid,ppvObject)    \
  22490.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  22491.  
  22492. #define IDvdControl_AddRef(This)    \
  22493.     (This)->lpVtbl -> AddRef(This)
  22494.  
  22495. #define IDvdControl_Release(This)    \
  22496.     (This)->lpVtbl -> Release(This)
  22497.  
  22498.  
  22499. #define IDvdControl_TitlePlay(This,ulTitle)    \
  22500.     (This)->lpVtbl -> TitlePlay(This,ulTitle)
  22501.  
  22502. #define IDvdControl_ChapterPlay(This,ulTitle,ulChapter)    \
  22503.     (This)->lpVtbl -> ChapterPlay(This,ulTitle,ulChapter)
  22504.  
  22505. #define IDvdControl_TimePlay(This,ulTitle,bcdTime)    \
  22506.     (This)->lpVtbl -> TimePlay(This,ulTitle,bcdTime)
  22507.  
  22508. #define IDvdControl_StopForResume(This)    \
  22509.     (This)->lpVtbl -> StopForResume(This)
  22510.  
  22511. #define IDvdControl_GoUp(This)    \
  22512.     (This)->lpVtbl -> GoUp(This)
  22513.  
  22514. #define IDvdControl_TimeSearch(This,bcdTime)    \
  22515.     (This)->lpVtbl -> TimeSearch(This,bcdTime)
  22516.  
  22517. #define IDvdControl_ChapterSearch(This,ulChapter)    \
  22518.     (This)->lpVtbl -> ChapterSearch(This,ulChapter)
  22519.  
  22520. #define IDvdControl_PrevPGSearch(This)    \
  22521.     (This)->lpVtbl -> PrevPGSearch(This)
  22522.  
  22523. #define IDvdControl_TopPGSearch(This)    \
  22524.     (This)->lpVtbl -> TopPGSearch(This)
  22525.  
  22526. #define IDvdControl_NextPGSearch(This)    \
  22527.     (This)->lpVtbl -> NextPGSearch(This)
  22528.  
  22529. #define IDvdControl_ForwardScan(This,dwSpeed)    \
  22530.     (This)->lpVtbl -> ForwardScan(This,dwSpeed)
  22531.  
  22532. #define IDvdControl_BackwardScan(This,dwSpeed)    \
  22533.     (This)->lpVtbl -> BackwardScan(This,dwSpeed)
  22534.  
  22535. #define IDvdControl_MenuCall(This,MenuID)    \
  22536.     (This)->lpVtbl -> MenuCall(This,MenuID)
  22537.  
  22538. #define IDvdControl_Resume(This)    \
  22539.     (This)->lpVtbl -> Resume(This)
  22540.  
  22541. #define IDvdControl_UpperButtonSelect(This)    \
  22542.     (This)->lpVtbl -> UpperButtonSelect(This)
  22543.  
  22544. #define IDvdControl_LowerButtonSelect(This)    \
  22545.     (This)->lpVtbl -> LowerButtonSelect(This)
  22546.  
  22547. #define IDvdControl_LeftButtonSelect(This)    \
  22548.     (This)->lpVtbl -> LeftButtonSelect(This)
  22549.  
  22550. #define IDvdControl_RightButtonSelect(This)    \
  22551.     (This)->lpVtbl -> RightButtonSelect(This)
  22552.  
  22553. #define IDvdControl_ButtonActivate(This)    \
  22554.     (This)->lpVtbl -> ButtonActivate(This)
  22555.  
  22556. #define IDvdControl_ButtonSelectAndActivate(This,ulButton)    \
  22557.     (This)->lpVtbl -> ButtonSelectAndActivate(This,ulButton)
  22558.  
  22559. #define IDvdControl_StillOff(This)    \
  22560.     (This)->lpVtbl -> StillOff(This)
  22561.  
  22562. #define IDvdControl_PauseOn(This)    \
  22563.     (This)->lpVtbl -> PauseOn(This)
  22564.  
  22565. #define IDvdControl_PauseOff(This)    \
  22566.     (This)->lpVtbl -> PauseOff(This)
  22567.  
  22568. #define IDvdControl_MenuLanguageSelect(This,Language)    \
  22569.     (This)->lpVtbl -> MenuLanguageSelect(This,Language)
  22570.  
  22571. #define IDvdControl_AudioStreamChange(This,ulAudio)    \
  22572.     (This)->lpVtbl -> AudioStreamChange(This,ulAudio)
  22573.  
  22574. #define IDvdControl_SubpictureStreamChange(This,ulSubPicture,bDisplay)    \
  22575.     (This)->lpVtbl -> SubpictureStreamChange(This,ulSubPicture,bDisplay)
  22576.  
  22577. #define IDvdControl_AngleChange(This,ulAngle)    \
  22578.     (This)->lpVtbl -> AngleChange(This,ulAngle)
  22579.  
  22580. #define IDvdControl_ParentalLevelSelect(This,ulParentalLevel)    \
  22581.     (This)->lpVtbl -> ParentalLevelSelect(This,ulParentalLevel)
  22582.  
  22583. #define IDvdControl_ParentalCountrySelect(This,wCountry)    \
  22584.     (This)->lpVtbl -> ParentalCountrySelect(This,wCountry)
  22585.  
  22586. #define IDvdControl_KaraokeAudioPresentationModeChange(This,ulMode)    \
  22587.     (This)->lpVtbl -> KaraokeAudioPresentationModeChange(This,ulMode)
  22588.  
  22589. #define IDvdControl_VideoModePreferrence(This,ulPreferredDisplayMode)    \
  22590.     (This)->lpVtbl -> VideoModePreferrence(This,ulPreferredDisplayMode)
  22591.  
  22592. #define IDvdControl_SetRoot(This,pszPath)    \
  22593.     (This)->lpVtbl -> SetRoot(This,pszPath)
  22594.  
  22595. #define IDvdControl_MouseActivate(This,point)    \
  22596.     (This)->lpVtbl -> MouseActivate(This,point)
  22597.  
  22598. #define IDvdControl_MouseSelect(This,point)    \
  22599.     (This)->lpVtbl -> MouseSelect(This,point)
  22600.  
  22601. #define IDvdControl_ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay)    \
  22602.     (This)->lpVtbl -> ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay)
  22603.  
  22604. #endif /* COBJMACROS */
  22605.  
  22606.  
  22607. #endif     /* C style interface */
  22608.  
  22609.  
  22610.  
  22611. HRESULT STDMETHODCALLTYPE IDvdControl_TitlePlay_Proxy( 
  22612.     IDvdControl * This,
  22613.     /* [in] */ ULONG ulTitle);
  22614.  
  22615.  
  22616. void __RPC_STUB IDvdControl_TitlePlay_Stub(
  22617.     IRpcStubBuffer *This,
  22618.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22619.     PRPC_MESSAGE _pRpcMessage,
  22620.     DWORD *_pdwStubPhase);
  22621.  
  22622.  
  22623. HRESULT STDMETHODCALLTYPE IDvdControl_ChapterPlay_Proxy( 
  22624.     IDvdControl * This,
  22625.     /* [in] */ ULONG ulTitle,
  22626.     /* [in] */ ULONG ulChapter);
  22627.  
  22628.  
  22629. void __RPC_STUB IDvdControl_ChapterPlay_Stub(
  22630.     IRpcStubBuffer *This,
  22631.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22632.     PRPC_MESSAGE _pRpcMessage,
  22633.     DWORD *_pdwStubPhase);
  22634.  
  22635.  
  22636. HRESULT STDMETHODCALLTYPE IDvdControl_TimePlay_Proxy( 
  22637.     IDvdControl * This,
  22638.     /* [in] */ ULONG ulTitle,
  22639.     /* [in] */ ULONG bcdTime);
  22640.  
  22641.  
  22642. void __RPC_STUB IDvdControl_TimePlay_Stub(
  22643.     IRpcStubBuffer *This,
  22644.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22645.     PRPC_MESSAGE _pRpcMessage,
  22646.     DWORD *_pdwStubPhase);
  22647.  
  22648.  
  22649. HRESULT STDMETHODCALLTYPE IDvdControl_StopForResume_Proxy( 
  22650.     IDvdControl * This);
  22651.  
  22652.  
  22653. void __RPC_STUB IDvdControl_StopForResume_Stub(
  22654.     IRpcStubBuffer *This,
  22655.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22656.     PRPC_MESSAGE _pRpcMessage,
  22657.     DWORD *_pdwStubPhase);
  22658.  
  22659.  
  22660. HRESULT STDMETHODCALLTYPE IDvdControl_GoUp_Proxy( 
  22661.     IDvdControl * This);
  22662.  
  22663.  
  22664. void __RPC_STUB IDvdControl_GoUp_Stub(
  22665.     IRpcStubBuffer *This,
  22666.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22667.     PRPC_MESSAGE _pRpcMessage,
  22668.     DWORD *_pdwStubPhase);
  22669.  
  22670.  
  22671. HRESULT STDMETHODCALLTYPE IDvdControl_TimeSearch_Proxy( 
  22672.     IDvdControl * This,
  22673.     /* [in] */ ULONG bcdTime);
  22674.  
  22675.  
  22676. void __RPC_STUB IDvdControl_TimeSearch_Stub(
  22677.     IRpcStubBuffer *This,
  22678.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22679.     PRPC_MESSAGE _pRpcMessage,
  22680.     DWORD *_pdwStubPhase);
  22681.  
  22682.  
  22683. HRESULT STDMETHODCALLTYPE IDvdControl_ChapterSearch_Proxy( 
  22684.     IDvdControl * This,
  22685.     /* [in] */ ULONG ulChapter);
  22686.  
  22687.  
  22688. void __RPC_STUB IDvdControl_ChapterSearch_Stub(
  22689.     IRpcStubBuffer *This,
  22690.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22691.     PRPC_MESSAGE _pRpcMessage,
  22692.     DWORD *_pdwStubPhase);
  22693.  
  22694.  
  22695. HRESULT STDMETHODCALLTYPE IDvdControl_PrevPGSearch_Proxy( 
  22696.     IDvdControl * This);
  22697.  
  22698.  
  22699. void __RPC_STUB IDvdControl_PrevPGSearch_Stub(
  22700.     IRpcStubBuffer *This,
  22701.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22702.     PRPC_MESSAGE _pRpcMessage,
  22703.     DWORD *_pdwStubPhase);
  22704.  
  22705.  
  22706. HRESULT STDMETHODCALLTYPE IDvdControl_TopPGSearch_Proxy( 
  22707.     IDvdControl * This);
  22708.  
  22709.  
  22710. void __RPC_STUB IDvdControl_TopPGSearch_Stub(
  22711.     IRpcStubBuffer *This,
  22712.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22713.     PRPC_MESSAGE _pRpcMessage,
  22714.     DWORD *_pdwStubPhase);
  22715.  
  22716.  
  22717. HRESULT STDMETHODCALLTYPE IDvdControl_NextPGSearch_Proxy( 
  22718.     IDvdControl * This);
  22719.  
  22720.  
  22721. void __RPC_STUB IDvdControl_NextPGSearch_Stub(
  22722.     IRpcStubBuffer *This,
  22723.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22724.     PRPC_MESSAGE _pRpcMessage,
  22725.     DWORD *_pdwStubPhase);
  22726.  
  22727.  
  22728. HRESULT STDMETHODCALLTYPE IDvdControl_ForwardScan_Proxy( 
  22729.     IDvdControl * This,
  22730.     /* [in] */ double dwSpeed);
  22731.  
  22732.  
  22733. void __RPC_STUB IDvdControl_ForwardScan_Stub(
  22734.     IRpcStubBuffer *This,
  22735.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22736.     PRPC_MESSAGE _pRpcMessage,
  22737.     DWORD *_pdwStubPhase);
  22738.  
  22739.  
  22740. HRESULT STDMETHODCALLTYPE IDvdControl_BackwardScan_Proxy( 
  22741.     IDvdControl * This,
  22742.     /* [in] */ double dwSpeed);
  22743.  
  22744.  
  22745. void __RPC_STUB IDvdControl_BackwardScan_Stub(
  22746.     IRpcStubBuffer *This,
  22747.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22748.     PRPC_MESSAGE _pRpcMessage,
  22749.     DWORD *_pdwStubPhase);
  22750.  
  22751.  
  22752. HRESULT STDMETHODCALLTYPE IDvdControl_MenuCall_Proxy( 
  22753.     IDvdControl * This,
  22754.     /* [in] */ DVD_MENU_ID MenuID);
  22755.  
  22756.  
  22757. void __RPC_STUB IDvdControl_MenuCall_Stub(
  22758.     IRpcStubBuffer *This,
  22759.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22760.     PRPC_MESSAGE _pRpcMessage,
  22761.     DWORD *_pdwStubPhase);
  22762.  
  22763.  
  22764. HRESULT STDMETHODCALLTYPE IDvdControl_Resume_Proxy( 
  22765.     IDvdControl * This);
  22766.  
  22767.  
  22768. void __RPC_STUB IDvdControl_Resume_Stub(
  22769.     IRpcStubBuffer *This,
  22770.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22771.     PRPC_MESSAGE _pRpcMessage,
  22772.     DWORD *_pdwStubPhase);
  22773.  
  22774.  
  22775. HRESULT STDMETHODCALLTYPE IDvdControl_UpperButtonSelect_Proxy( 
  22776.     IDvdControl * This);
  22777.  
  22778.  
  22779. void __RPC_STUB IDvdControl_UpperButtonSelect_Stub(
  22780.     IRpcStubBuffer *This,
  22781.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22782.     PRPC_MESSAGE _pRpcMessage,
  22783.     DWORD *_pdwStubPhase);
  22784.  
  22785.  
  22786. HRESULT STDMETHODCALLTYPE IDvdControl_LowerButtonSelect_Proxy( 
  22787.     IDvdControl * This);
  22788.  
  22789.  
  22790. void __RPC_STUB IDvdControl_LowerButtonSelect_Stub(
  22791.     IRpcStubBuffer *This,
  22792.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22793.     PRPC_MESSAGE _pRpcMessage,
  22794.     DWORD *_pdwStubPhase);
  22795.  
  22796.  
  22797. HRESULT STDMETHODCALLTYPE IDvdControl_LeftButtonSelect_Proxy( 
  22798.     IDvdControl * This);
  22799.  
  22800.  
  22801. void __RPC_STUB IDvdControl_LeftButtonSelect_Stub(
  22802.     IRpcStubBuffer *This,
  22803.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22804.     PRPC_MESSAGE _pRpcMessage,
  22805.     DWORD *_pdwStubPhase);
  22806.  
  22807.  
  22808. HRESULT STDMETHODCALLTYPE IDvdControl_RightButtonSelect_Proxy( 
  22809.     IDvdControl * This);
  22810.  
  22811.  
  22812. void __RPC_STUB IDvdControl_RightButtonSelect_Stub(
  22813.     IRpcStubBuffer *This,
  22814.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22815.     PRPC_MESSAGE _pRpcMessage,
  22816.     DWORD *_pdwStubPhase);
  22817.  
  22818.  
  22819. HRESULT STDMETHODCALLTYPE IDvdControl_ButtonActivate_Proxy( 
  22820.     IDvdControl * This);
  22821.  
  22822.  
  22823. void __RPC_STUB IDvdControl_ButtonActivate_Stub(
  22824.     IRpcStubBuffer *This,
  22825.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22826.     PRPC_MESSAGE _pRpcMessage,
  22827.     DWORD *_pdwStubPhase);
  22828.  
  22829.  
  22830. HRESULT STDMETHODCALLTYPE IDvdControl_ButtonSelectAndActivate_Proxy( 
  22831.     IDvdControl * This,
  22832.     /* [in] */ ULONG ulButton);
  22833.  
  22834.  
  22835. void __RPC_STUB IDvdControl_ButtonSelectAndActivate_Stub(
  22836.     IRpcStubBuffer *This,
  22837.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22838.     PRPC_MESSAGE _pRpcMessage,
  22839.     DWORD *_pdwStubPhase);
  22840.  
  22841.  
  22842. HRESULT STDMETHODCALLTYPE IDvdControl_StillOff_Proxy( 
  22843.     IDvdControl * This);
  22844.  
  22845.  
  22846. void __RPC_STUB IDvdControl_StillOff_Stub(
  22847.     IRpcStubBuffer *This,
  22848.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22849.     PRPC_MESSAGE _pRpcMessage,
  22850.     DWORD *_pdwStubPhase);
  22851.  
  22852.  
  22853. HRESULT STDMETHODCALLTYPE IDvdControl_PauseOn_Proxy( 
  22854.     IDvdControl * This);
  22855.  
  22856.  
  22857. void __RPC_STUB IDvdControl_PauseOn_Stub(
  22858.     IRpcStubBuffer *This,
  22859.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22860.     PRPC_MESSAGE _pRpcMessage,
  22861.     DWORD *_pdwStubPhase);
  22862.  
  22863.  
  22864. HRESULT STDMETHODCALLTYPE IDvdControl_PauseOff_Proxy( 
  22865.     IDvdControl * This);
  22866.  
  22867.  
  22868. void __RPC_STUB IDvdControl_PauseOff_Stub(
  22869.     IRpcStubBuffer *This,
  22870.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22871.     PRPC_MESSAGE _pRpcMessage,
  22872.     DWORD *_pdwStubPhase);
  22873.  
  22874.  
  22875. HRESULT STDMETHODCALLTYPE IDvdControl_MenuLanguageSelect_Proxy( 
  22876.     IDvdControl * This,
  22877.     /* [in] */ LCID Language);
  22878.  
  22879.  
  22880. void __RPC_STUB IDvdControl_MenuLanguageSelect_Stub(
  22881.     IRpcStubBuffer *This,
  22882.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22883.     PRPC_MESSAGE _pRpcMessage,
  22884.     DWORD *_pdwStubPhase);
  22885.  
  22886.  
  22887. HRESULT STDMETHODCALLTYPE IDvdControl_AudioStreamChange_Proxy( 
  22888.     IDvdControl * This,
  22889.     /* [in] */ ULONG ulAudio);
  22890.  
  22891.  
  22892. void __RPC_STUB IDvdControl_AudioStreamChange_Stub(
  22893.     IRpcStubBuffer *This,
  22894.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22895.     PRPC_MESSAGE _pRpcMessage,
  22896.     DWORD *_pdwStubPhase);
  22897.  
  22898.  
  22899. HRESULT STDMETHODCALLTYPE IDvdControl_SubpictureStreamChange_Proxy( 
  22900.     IDvdControl * This,
  22901.     /* [in] */ ULONG ulSubPicture,
  22902.     /* [in] */ BOOL bDisplay);
  22903.  
  22904.  
  22905. void __RPC_STUB IDvdControl_SubpictureStreamChange_Stub(
  22906.     IRpcStubBuffer *This,
  22907.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22908.     PRPC_MESSAGE _pRpcMessage,
  22909.     DWORD *_pdwStubPhase);
  22910.  
  22911.  
  22912. HRESULT STDMETHODCALLTYPE IDvdControl_AngleChange_Proxy( 
  22913.     IDvdControl * This,
  22914.     /* [in] */ ULONG ulAngle);
  22915.  
  22916.  
  22917. void __RPC_STUB IDvdControl_AngleChange_Stub(
  22918.     IRpcStubBuffer *This,
  22919.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22920.     PRPC_MESSAGE _pRpcMessage,
  22921.     DWORD *_pdwStubPhase);
  22922.  
  22923.  
  22924. HRESULT STDMETHODCALLTYPE IDvdControl_ParentalLevelSelect_Proxy( 
  22925.     IDvdControl * This,
  22926.     /* [in] */ ULONG ulParentalLevel);
  22927.  
  22928.  
  22929. void __RPC_STUB IDvdControl_ParentalLevelSelect_Stub(
  22930.     IRpcStubBuffer *This,
  22931.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22932.     PRPC_MESSAGE _pRpcMessage,
  22933.     DWORD *_pdwStubPhase);
  22934.  
  22935.  
  22936. HRESULT STDMETHODCALLTYPE IDvdControl_ParentalCountrySelect_Proxy( 
  22937.     IDvdControl * This,
  22938.     /* [in] */ WORD wCountry);
  22939.  
  22940.  
  22941. void __RPC_STUB IDvdControl_ParentalCountrySelect_Stub(
  22942.     IRpcStubBuffer *This,
  22943.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22944.     PRPC_MESSAGE _pRpcMessage,
  22945.     DWORD *_pdwStubPhase);
  22946.  
  22947.  
  22948. HRESULT STDMETHODCALLTYPE IDvdControl_KaraokeAudioPresentationModeChange_Proxy( 
  22949.     IDvdControl * This,
  22950.     /* [in] */ ULONG ulMode);
  22951.  
  22952.  
  22953. void __RPC_STUB IDvdControl_KaraokeAudioPresentationModeChange_Stub(
  22954.     IRpcStubBuffer *This,
  22955.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22956.     PRPC_MESSAGE _pRpcMessage,
  22957.     DWORD *_pdwStubPhase);
  22958.  
  22959.  
  22960. HRESULT STDMETHODCALLTYPE IDvdControl_VideoModePreferrence_Proxy( 
  22961.     IDvdControl * This,
  22962.     /* [in] */ ULONG ulPreferredDisplayMode);
  22963.  
  22964.  
  22965. void __RPC_STUB IDvdControl_VideoModePreferrence_Stub(
  22966.     IRpcStubBuffer *This,
  22967.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22968.     PRPC_MESSAGE _pRpcMessage,
  22969.     DWORD *_pdwStubPhase);
  22970.  
  22971.  
  22972. HRESULT STDMETHODCALLTYPE IDvdControl_SetRoot_Proxy( 
  22973.     IDvdControl * This,
  22974.     /* [in] */ LPCWSTR pszPath);
  22975.  
  22976.  
  22977. void __RPC_STUB IDvdControl_SetRoot_Stub(
  22978.     IRpcStubBuffer *This,
  22979.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22980.     PRPC_MESSAGE _pRpcMessage,
  22981.     DWORD *_pdwStubPhase);
  22982.  
  22983.  
  22984. HRESULT STDMETHODCALLTYPE IDvdControl_MouseActivate_Proxy( 
  22985.     IDvdControl * This,
  22986.     /* [in] */ POINT point);
  22987.  
  22988.  
  22989. void __RPC_STUB IDvdControl_MouseActivate_Stub(
  22990.     IRpcStubBuffer *This,
  22991.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22992.     PRPC_MESSAGE _pRpcMessage,
  22993.     DWORD *_pdwStubPhase);
  22994.  
  22995.  
  22996. HRESULT STDMETHODCALLTYPE IDvdControl_MouseSelect_Proxy( 
  22997.     IDvdControl * This,
  22998.     /* [in] */ POINT point);
  22999.  
  23000.  
  23001. void __RPC_STUB IDvdControl_MouseSelect_Stub(
  23002.     IRpcStubBuffer *This,
  23003.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23004.     PRPC_MESSAGE _pRpcMessage,
  23005.     DWORD *_pdwStubPhase);
  23006.  
  23007.  
  23008. HRESULT STDMETHODCALLTYPE IDvdControl_ChapterPlayAutoStop_Proxy( 
  23009.     IDvdControl * This,
  23010.     /* [in] */ ULONG ulTitle,
  23011.     /* [in] */ ULONG ulChapter,
  23012.     /* [in] */ ULONG ulChaptersToPlay);
  23013.  
  23014.  
  23015. void __RPC_STUB IDvdControl_ChapterPlayAutoStop_Stub(
  23016.     IRpcStubBuffer *This,
  23017.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23018.     PRPC_MESSAGE _pRpcMessage,
  23019.     DWORD *_pdwStubPhase);
  23020.  
  23021.  
  23022.  
  23023. #endif     /* __IDvdControl_INTERFACE_DEFINED__ */
  23024.  
  23025.  
  23026. #ifndef __IDvdInfo_INTERFACE_DEFINED__
  23027. #define __IDvdInfo_INTERFACE_DEFINED__
  23028.  
  23029. /* interface IDvdInfo */
  23030. /* [unique][uuid][object] */ 
  23031.  
  23032.  
  23033. EXTERN_C const IID IID_IDvdInfo;
  23034.  
  23035. #if defined(__cplusplus) && !defined(CINTERFACE)
  23036.     
  23037.     MIDL_INTERFACE("A70EFE60-E2A3-11d0-A9BE-00AA0061BE93")
  23038.     IDvdInfo : public IUnknown
  23039.     {
  23040.     public:
  23041.         virtual HRESULT STDMETHODCALLTYPE GetCurrentDomain( 
  23042.             /* [out] */ DVD_DOMAIN *pDomain) = 0;
  23043.         
  23044.         virtual HRESULT STDMETHODCALLTYPE GetCurrentLocation( 
  23045.             /* [out] */ DVD_PLAYBACK_LOCATION *pLocation) = 0;
  23046.         
  23047.         virtual HRESULT STDMETHODCALLTYPE GetTotalTitleTime( 
  23048.             /* [out] */ ULONG *pulTotalTime) = 0;
  23049.         
  23050.         virtual HRESULT STDMETHODCALLTYPE GetCurrentButton( 
  23051.             /* [out] */ ULONG *pulButtonsAvailable,
  23052.             /* [out] */ ULONG *pulCurrentButton) = 0;
  23053.         
  23054.         virtual HRESULT STDMETHODCALLTYPE GetCurrentAngle( 
  23055.             /* [out] */ ULONG *pulAnglesAvailable,
  23056.             /* [out] */ ULONG *pulCurrentAngle) = 0;
  23057.         
  23058.         virtual HRESULT STDMETHODCALLTYPE GetCurrentAudio( 
  23059.             /* [out] */ ULONG *pulStreamsAvailable,
  23060.             /* [out] */ ULONG *pulCurrentStream) = 0;
  23061.         
  23062.         virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpicture( 
  23063.             /* [out] */ ULONG *pulStreamsAvailable,
  23064.             /* [out] */ ULONG *pulCurrentStream,
  23065.             /* [out] */ BOOL *pIsDisabled) = 0;
  23066.         
  23067.         virtual HRESULT STDMETHODCALLTYPE GetCurrentUOPS( 
  23068.             /* [out] */ VALID_UOP_SOMTHING_OR_OTHER *pUOP) = 0;
  23069.         
  23070.         virtual HRESULT STDMETHODCALLTYPE GetAllSPRMs( 
  23071.             /* [out] */ SPRMARRAY *pRegisterArray) = 0;
  23072.         
  23073.         virtual HRESULT STDMETHODCALLTYPE GetAllGPRMs( 
  23074.             /* [out] */ GPRMARRAY *pRegisterArray) = 0;
  23075.         
  23076.         virtual HRESULT STDMETHODCALLTYPE GetAudioLanguage( 
  23077.             /* [in] */ ULONG ulStream,
  23078.             /* [out] */ LCID *pLanguage) = 0;
  23079.         
  23080.         virtual HRESULT STDMETHODCALLTYPE GetSubpictureLanguage( 
  23081.             /* [in] */ ULONG ulStream,
  23082.             /* [out] */ LCID *pLanguage) = 0;
  23083.         
  23084.         virtual HRESULT STDMETHODCALLTYPE GetTitleAttributes( 
  23085.             /* [in] */ ULONG ulTitle,
  23086.             /* [out] */ DVD_ATR *pATR) = 0;
  23087.         
  23088.         virtual HRESULT STDMETHODCALLTYPE GetVMGAttributes( 
  23089.             /* [out] */ DVD_ATR *pATR) = 0;
  23090.         
  23091.         virtual HRESULT STDMETHODCALLTYPE GetCurrentVideoAttributes( 
  23092.             /* [out] */ DVD_VideoATR *pATR) = 0;
  23093.         
  23094.         virtual HRESULT STDMETHODCALLTYPE GetCurrentAudioAttributes( 
  23095.             /* [out] */ DVD_AudioATR *pATR) = 0;
  23096.         
  23097.         virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpictureAttributes( 
  23098.             /* [out] */ DVD_SubpictureATR *pATR) = 0;
  23099.         
  23100.         virtual HRESULT STDMETHODCALLTYPE GetCurrentVolumeInfo( 
  23101.             /* [out] */ ULONG *pulNumOfVol,
  23102.             /* [out] */ ULONG *pulThisVolNum,
  23103.             /* [out] */ DVD_DISC_SIDE *pSide,
  23104.             /* [out] */ ULONG *pulNumOfTitles) = 0;
  23105.         
  23106.         virtual HRESULT STDMETHODCALLTYPE GetDVDTextInfo( 
  23107.             /* [size_is][out] */ BYTE *pTextManager,
  23108.             /* [in] */ ULONG ulBufSize,
  23109.             /* [out] */ ULONG *pulActualSize) = 0;
  23110.         
  23111.         virtual HRESULT STDMETHODCALLTYPE GetPlayerParentalLevel( 
  23112.             /* [out] */ ULONG *pulParentalLevel,
  23113.             /* [out] */ ULONG *pulCountryCode) = 0;
  23114.         
  23115.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfChapters( 
  23116.             /* [in] */ ULONG ulTitle,
  23117.             /* [out] */ ULONG *pulNumberOfChapters) = 0;
  23118.         
  23119.         virtual HRESULT STDMETHODCALLTYPE GetTitleParentalLevels( 
  23120.             /* [in] */ ULONG ulTitle,
  23121.             /* [out] */ ULONG *pulParentalLevels) = 0;
  23122.         
  23123.         virtual HRESULT STDMETHODCALLTYPE GetRoot( 
  23124.             /* [size_is][out] */ LPSTR pRoot,
  23125.             /* [in] */ ULONG ulBufSize,
  23126.             /* [out] */ ULONG *pulActualSize) = 0;
  23127.         
  23128.     };
  23129.     
  23130. #else     /* C style interface */
  23131.  
  23132.     typedef struct IDvdInfoVtbl
  23133.     {
  23134.         BEGIN_INTERFACE
  23135.         
  23136.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  23137.             IDvdInfo * This,
  23138.             /* [in] */ REFIID riid,
  23139.             /* [iid_is][out] */ void **ppvObject);
  23140.         
  23141.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  23142.             IDvdInfo * This);
  23143.         
  23144.         ULONG ( STDMETHODCALLTYPE *Release )( 
  23145.             IDvdInfo * This);
  23146.         
  23147.         HRESULT ( STDMETHODCALLTYPE *GetCurrentDomain )( 
  23148.             IDvdInfo * This,
  23149.             /* [out] */ DVD_DOMAIN *pDomain);
  23150.         
  23151.         HRESULT ( STDMETHODCALLTYPE *GetCurrentLocation )( 
  23152.             IDvdInfo * This,
  23153.             /* [out] */ DVD_PLAYBACK_LOCATION *pLocation);
  23154.         
  23155.         HRESULT ( STDMETHODCALLTYPE *GetTotalTitleTime )( 
  23156.             IDvdInfo * This,
  23157.             /* [out] */ ULONG *pulTotalTime);
  23158.         
  23159.         HRESULT ( STDMETHODCALLTYPE *GetCurrentButton )( 
  23160.             IDvdInfo * This,
  23161.             /* [out] */ ULONG *pulButtonsAvailable,
  23162.             /* [out] */ ULONG *pulCurrentButton);
  23163.         
  23164.         HRESULT ( STDMETHODCALLTYPE *GetCurrentAngle )( 
  23165.             IDvdInfo * This,
  23166.             /* [out] */ ULONG *pulAnglesAvailable,
  23167.             /* [out] */ ULONG *pulCurrentAngle);
  23168.         
  23169.         HRESULT ( STDMETHODCALLTYPE *GetCurrentAudio )( 
  23170.             IDvdInfo * This,
  23171.             /* [out] */ ULONG *pulStreamsAvailable,
  23172.             /* [out] */ ULONG *pulCurrentStream);
  23173.         
  23174.         HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpicture )( 
  23175.             IDvdInfo * This,
  23176.             /* [out] */ ULONG *pulStreamsAvailable,
  23177.             /* [out] */ ULONG *pulCurrentStream,
  23178.             /* [out] */ BOOL *pIsDisabled);
  23179.         
  23180.         HRESULT ( STDMETHODCALLTYPE *GetCurrentUOPS )( 
  23181.             IDvdInfo * This,
  23182.             /* [out] */ VALID_UOP_SOMTHING_OR_OTHER *pUOP);
  23183.         
  23184.         HRESULT ( STDMETHODCALLTYPE *GetAllSPRMs )( 
  23185.             IDvdInfo * This,
  23186.             /* [out] */ SPRMARRAY *pRegisterArray);
  23187.         
  23188.         HRESULT ( STDMETHODCALLTYPE *GetAllGPRMs )( 
  23189.             IDvdInfo * This,
  23190.             /* [out] */ GPRMARRAY *pRegisterArray);
  23191.         
  23192.         HRESULT ( STDMETHODCALLTYPE *GetAudioLanguage )( 
  23193.             IDvdInfo * This,
  23194.             /* [in] */ ULONG ulStream,
  23195.             /* [out] */ LCID *pLanguage);
  23196.         
  23197.         HRESULT ( STDMETHODCALLTYPE *GetSubpictureLanguage )( 
  23198.             IDvdInfo * This,
  23199.             /* [in] */ ULONG ulStream,
  23200.             /* [out] */ LCID *pLanguage);
  23201.         
  23202.         HRESULT ( STDMETHODCALLTYPE *GetTitleAttributes )( 
  23203.             IDvdInfo * This,
  23204.             /* [in] */ ULONG ulTitle,
  23205.             /* [out] */ DVD_ATR *pATR);
  23206.         
  23207.         HRESULT ( STDMETHODCALLTYPE *GetVMGAttributes )( 
  23208.             IDvdInfo * This,
  23209.             /* [out] */ DVD_ATR *pATR);
  23210.         
  23211.         HRESULT ( STDMETHODCALLTYPE *GetCurrentVideoAttributes )( 
  23212.             IDvdInfo * This,
  23213.             /* [out] */ DVD_VideoATR *pATR);
  23214.         
  23215.         HRESULT ( STDMETHODCALLTYPE *GetCurrentAudioAttributes )( 
  23216.             IDvdInfo * This,
  23217.             /* [out] */ DVD_AudioATR *pATR);
  23218.         
  23219.         HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpictureAttributes )( 
  23220.             IDvdInfo * This,
  23221.             /* [out] */ DVD_SubpictureATR *pATR);
  23222.         
  23223.         HRESULT ( STDMETHODCALLTYPE *GetCurrentVolumeInfo )( 
  23224.             IDvdInfo * This,
  23225.             /* [out] */ ULONG *pulNumOfVol,
  23226.             /* [out] */ ULONG *pulThisVolNum,
  23227.             /* [out] */ DVD_DISC_SIDE *pSide,
  23228.             /* [out] */ ULONG *pulNumOfTitles);
  23229.         
  23230.         HRESULT ( STDMETHODCALLTYPE *GetDVDTextInfo )( 
  23231.             IDvdInfo * This,
  23232.             /* [size_is][out] */ BYTE *pTextManager,
  23233.             /* [in] */ ULONG ulBufSize,
  23234.             /* [out] */ ULONG *pulActualSize);
  23235.         
  23236.         HRESULT ( STDMETHODCALLTYPE *GetPlayerParentalLevel )( 
  23237.             IDvdInfo * This,
  23238.             /* [out] */ ULONG *pulParentalLevel,
  23239.             /* [out] */ ULONG *pulCountryCode);
  23240.         
  23241.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfChapters )( 
  23242.             IDvdInfo * This,
  23243.             /* [in] */ ULONG ulTitle,
  23244.             /* [out] */ ULONG *pulNumberOfChapters);
  23245.         
  23246.         HRESULT ( STDMETHODCALLTYPE *GetTitleParentalLevels )( 
  23247.             IDvdInfo * This,
  23248.             /* [in] */ ULONG ulTitle,
  23249.             /* [out] */ ULONG *pulParentalLevels);
  23250.         
  23251.         HRESULT ( STDMETHODCALLTYPE *GetRoot )( 
  23252.             IDvdInfo * This,
  23253.             /* [size_is][out] */ LPSTR pRoot,
  23254.             /* [in] */ ULONG ulBufSize,
  23255.             /* [out] */ ULONG *pulActualSize);
  23256.         
  23257.         END_INTERFACE
  23258.     } IDvdInfoVtbl;
  23259.  
  23260.     interface IDvdInfo
  23261.     {
  23262.         CONST_VTBL struct IDvdInfoVtbl *lpVtbl;
  23263.     };
  23264.  
  23265.     
  23266.  
  23267. #ifdef COBJMACROS
  23268.  
  23269.  
  23270. #define IDvdInfo_QueryInterface(This,riid,ppvObject)    \
  23271.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  23272.  
  23273. #define IDvdInfo_AddRef(This)    \
  23274.     (This)->lpVtbl -> AddRef(This)
  23275.  
  23276. #define IDvdInfo_Release(This)    \
  23277.     (This)->lpVtbl -> Release(This)
  23278.  
  23279.  
  23280. #define IDvdInfo_GetCurrentDomain(This,pDomain)    \
  23281.     (This)->lpVtbl -> GetCurrentDomain(This,pDomain)
  23282.  
  23283. #define IDvdInfo_GetCurrentLocation(This,pLocation)    \
  23284.     (This)->lpVtbl -> GetCurrentLocation(This,pLocation)
  23285.  
  23286. #define IDvdInfo_GetTotalTitleTime(This,pulTotalTime)    \
  23287.     (This)->lpVtbl -> GetTotalTitleTime(This,pulTotalTime)
  23288.  
  23289. #define IDvdInfo_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)    \
  23290.     (This)->lpVtbl -> GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)
  23291.  
  23292. #define IDvdInfo_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)    \
  23293.     (This)->lpVtbl -> GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)
  23294.  
  23295. #define IDvdInfo_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)    \
  23296.     (This)->lpVtbl -> GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)
  23297.  
  23298. #define IDvdInfo_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled)    \
  23299.     (This)->lpVtbl -> GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled)
  23300.  
  23301. #define IDvdInfo_GetCurrentUOPS(This,pUOP)    \
  23302.     (This)->lpVtbl -> GetCurrentUOPS(This,pUOP)
  23303.  
  23304. #define IDvdInfo_GetAllSPRMs(This,pRegisterArray)    \
  23305.     (This)->lpVtbl -> GetAllSPRMs(This,pRegisterArray)
  23306.  
  23307. #define IDvdInfo_GetAllGPRMs(This,pRegisterArray)    \
  23308.     (This)->lpVtbl -> GetAllGPRMs(This,pRegisterArray)
  23309.  
  23310. #define IDvdInfo_GetAudioLanguage(This,ulStream,pLanguage)    \
  23311.     (This)->lpVtbl -> GetAudioLanguage(This,ulStream,pLanguage)
  23312.  
  23313. #define IDvdInfo_GetSubpictureLanguage(This,ulStream,pLanguage)    \
  23314.     (This)->lpVtbl -> GetSubpictureLanguage(This,ulStream,pLanguage)
  23315.  
  23316. #define IDvdInfo_GetTitleAttributes(This,ulTitle,pATR)    \
  23317.     (This)->lpVtbl -> GetTitleAttributes(This,ulTitle,pATR)
  23318.  
  23319. #define IDvdInfo_GetVMGAttributes(This,pATR)    \
  23320.     (This)->lpVtbl -> GetVMGAttributes(This,pATR)
  23321.  
  23322. #define IDvdInfo_GetCurrentVideoAttributes(This,pATR)    \
  23323.     (This)->lpVtbl -> GetCurrentVideoAttributes(This,pATR)
  23324.  
  23325. #define IDvdInfo_GetCurrentAudioAttributes(This,pATR)    \
  23326.     (This)->lpVtbl -> GetCurrentAudioAttributes(This,pATR)
  23327.  
  23328. #define IDvdInfo_GetCurrentSubpictureAttributes(This,pATR)    \
  23329.     (This)->lpVtbl -> GetCurrentSubpictureAttributes(This,pATR)
  23330.  
  23331. #define IDvdInfo_GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles)    \
  23332.     (This)->lpVtbl -> GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles)
  23333.  
  23334. #define IDvdInfo_GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize)    \
  23335.     (This)->lpVtbl -> GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize)
  23336.  
  23337. #define IDvdInfo_GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode)    \
  23338.     (This)->lpVtbl -> GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode)
  23339.  
  23340. #define IDvdInfo_GetNumberOfChapters(This,ulTitle,pulNumberOfChapters)    \
  23341.     (This)->lpVtbl -> GetNumberOfChapters(This,ulTitle,pulNumberOfChapters)
  23342.  
  23343. #define IDvdInfo_GetTitleParentalLevels(This,ulTitle,pulParentalLevels)    \
  23344.     (This)->lpVtbl -> GetTitleParentalLevels(This,ulTitle,pulParentalLevels)
  23345.  
  23346. #define IDvdInfo_GetRoot(This,pRoot,ulBufSize,pulActualSize)    \
  23347.     (This)->lpVtbl -> GetRoot(This,pRoot,ulBufSize,pulActualSize)
  23348.  
  23349. #endif /* COBJMACROS */
  23350.  
  23351.  
  23352. #endif     /* C style interface */
  23353.  
  23354.  
  23355.  
  23356. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentDomain_Proxy( 
  23357.     IDvdInfo * This,
  23358.     /* [out] */ DVD_DOMAIN *pDomain);
  23359.  
  23360.  
  23361. void __RPC_STUB IDvdInfo_GetCurrentDomain_Stub(
  23362.     IRpcStubBuffer *This,
  23363.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23364.     PRPC_MESSAGE _pRpcMessage,
  23365.     DWORD *_pdwStubPhase);
  23366.  
  23367.  
  23368. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentLocation_Proxy( 
  23369.     IDvdInfo * This,
  23370.     /* [out] */ DVD_PLAYBACK_LOCATION *pLocation);
  23371.  
  23372.  
  23373. void __RPC_STUB IDvdInfo_GetCurrentLocation_Stub(
  23374.     IRpcStubBuffer *This,
  23375.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23376.     PRPC_MESSAGE _pRpcMessage,
  23377.     DWORD *_pdwStubPhase);
  23378.  
  23379.  
  23380. HRESULT STDMETHODCALLTYPE IDvdInfo_GetTotalTitleTime_Proxy( 
  23381.     IDvdInfo * This,
  23382.     /* [out] */ ULONG *pulTotalTime);
  23383.  
  23384.  
  23385. void __RPC_STUB IDvdInfo_GetTotalTitleTime_Stub(
  23386.     IRpcStubBuffer *This,
  23387.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23388.     PRPC_MESSAGE _pRpcMessage,
  23389.     DWORD *_pdwStubPhase);
  23390.  
  23391.  
  23392. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentButton_Proxy( 
  23393.     IDvdInfo * This,
  23394.     /* [out] */ ULONG *pulButtonsAvailable,
  23395.     /* [out] */ ULONG *pulCurrentButton);
  23396.  
  23397.  
  23398. void __RPC_STUB IDvdInfo_GetCurrentButton_Stub(
  23399.     IRpcStubBuffer *This,
  23400.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23401.     PRPC_MESSAGE _pRpcMessage,
  23402.     DWORD *_pdwStubPhase);
  23403.  
  23404.  
  23405. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAngle_Proxy( 
  23406.     IDvdInfo * This,
  23407.     /* [out] */ ULONG *pulAnglesAvailable,
  23408.     /* [out] */ ULONG *pulCurrentAngle);
  23409.  
  23410.  
  23411. void __RPC_STUB IDvdInfo_GetCurrentAngle_Stub(
  23412.     IRpcStubBuffer *This,
  23413.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23414.     PRPC_MESSAGE _pRpcMessage,
  23415.     DWORD *_pdwStubPhase);
  23416.  
  23417.  
  23418. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAudio_Proxy( 
  23419.     IDvdInfo * This,
  23420.     /* [out] */ ULONG *pulStreamsAvailable,
  23421.     /* [out] */ ULONG *pulCurrentStream);
  23422.  
  23423.  
  23424. void __RPC_STUB IDvdInfo_GetCurrentAudio_Stub(
  23425.     IRpcStubBuffer *This,
  23426.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23427.     PRPC_MESSAGE _pRpcMessage,
  23428.     DWORD *_pdwStubPhase);
  23429.  
  23430.  
  23431. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentSubpicture_Proxy( 
  23432.     IDvdInfo * This,
  23433.     /* [out] */ ULONG *pulStreamsAvailable,
  23434.     /* [out] */ ULONG *pulCurrentStream,
  23435.     /* [out] */ BOOL *pIsDisabled);
  23436.  
  23437.  
  23438. void __RPC_STUB IDvdInfo_GetCurrentSubpicture_Stub(
  23439.     IRpcStubBuffer *This,
  23440.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23441.     PRPC_MESSAGE _pRpcMessage,
  23442.     DWORD *_pdwStubPhase);
  23443.  
  23444.  
  23445. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentUOPS_Proxy( 
  23446.     IDvdInfo * This,
  23447.     /* [out] */ VALID_UOP_SOMTHING_OR_OTHER *pUOP);
  23448.  
  23449.  
  23450. void __RPC_STUB IDvdInfo_GetCurrentUOPS_Stub(
  23451.     IRpcStubBuffer *This,
  23452.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23453.     PRPC_MESSAGE _pRpcMessage,
  23454.     DWORD *_pdwStubPhase);
  23455.  
  23456.  
  23457. HRESULT STDMETHODCALLTYPE IDvdInfo_GetAllSPRMs_Proxy( 
  23458.     IDvdInfo * This,
  23459.     /* [out] */ SPRMARRAY *pRegisterArray);
  23460.  
  23461.  
  23462. void __RPC_STUB IDvdInfo_GetAllSPRMs_Stub(
  23463.     IRpcStubBuffer *This,
  23464.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23465.     PRPC_MESSAGE _pRpcMessage,
  23466.     DWORD *_pdwStubPhase);
  23467.  
  23468.  
  23469. HRESULT STDMETHODCALLTYPE IDvdInfo_GetAllGPRMs_Proxy( 
  23470.     IDvdInfo * This,
  23471.     /* [out] */ GPRMARRAY *pRegisterArray);
  23472.  
  23473.  
  23474. void __RPC_STUB IDvdInfo_GetAllGPRMs_Stub(
  23475.     IRpcStubBuffer *This,
  23476.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23477.     PRPC_MESSAGE _pRpcMessage,
  23478.     DWORD *_pdwStubPhase);
  23479.  
  23480.  
  23481. HRESULT STDMETHODCALLTYPE IDvdInfo_GetAudioLanguage_Proxy( 
  23482.     IDvdInfo * This,
  23483.     /* [in] */ ULONG ulStream,
  23484.     /* [out] */ LCID *pLanguage);
  23485.  
  23486.  
  23487. void __RPC_STUB IDvdInfo_GetAudioLanguage_Stub(
  23488.     IRpcStubBuffer *This,
  23489.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23490.     PRPC_MESSAGE _pRpcMessage,
  23491.     DWORD *_pdwStubPhase);
  23492.  
  23493.  
  23494. HRESULT STDMETHODCALLTYPE IDvdInfo_GetSubpictureLanguage_Proxy( 
  23495.     IDvdInfo * This,
  23496.     /* [in] */ ULONG ulStream,
  23497.     /* [out] */ LCID *pLanguage);
  23498.  
  23499.  
  23500. void __RPC_STUB IDvdInfo_GetSubpictureLanguage_Stub(
  23501.     IRpcStubBuffer *This,
  23502.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23503.     PRPC_MESSAGE _pRpcMessage,
  23504.     DWORD *_pdwStubPhase);
  23505.  
  23506.  
  23507. HRESULT STDMETHODCALLTYPE IDvdInfo_GetTitleAttributes_Proxy( 
  23508.     IDvdInfo * This,
  23509.     /* [in] */ ULONG ulTitle,
  23510.     /* [out] */ DVD_ATR *pATR);
  23511.  
  23512.  
  23513. void __RPC_STUB IDvdInfo_GetTitleAttributes_Stub(
  23514.     IRpcStubBuffer *This,
  23515.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23516.     PRPC_MESSAGE _pRpcMessage,
  23517.     DWORD *_pdwStubPhase);
  23518.  
  23519.  
  23520. HRESULT STDMETHODCALLTYPE IDvdInfo_GetVMGAttributes_Proxy( 
  23521.     IDvdInfo * This,
  23522.     /* [out] */ DVD_ATR *pATR);
  23523.  
  23524.  
  23525. void __RPC_STUB IDvdInfo_GetVMGAttributes_Stub(
  23526.     IRpcStubBuffer *This,
  23527.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23528.     PRPC_MESSAGE _pRpcMessage,
  23529.     DWORD *_pdwStubPhase);
  23530.  
  23531.  
  23532. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentVideoAttributes_Proxy( 
  23533.     IDvdInfo * This,
  23534.     /* [out] */ DVD_VideoATR *pATR);
  23535.  
  23536.  
  23537. void __RPC_STUB IDvdInfo_GetCurrentVideoAttributes_Stub(
  23538.     IRpcStubBuffer *This,
  23539.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23540.     PRPC_MESSAGE _pRpcMessage,
  23541.     DWORD *_pdwStubPhase);
  23542.  
  23543.  
  23544. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAudioAttributes_Proxy( 
  23545.     IDvdInfo * This,
  23546.     /* [out] */ DVD_AudioATR *pATR);
  23547.  
  23548.  
  23549. void __RPC_STUB IDvdInfo_GetCurrentAudioAttributes_Stub(
  23550.     IRpcStubBuffer *This,
  23551.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23552.     PRPC_MESSAGE _pRpcMessage,
  23553.     DWORD *_pdwStubPhase);
  23554.  
  23555.  
  23556. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentSubpictureAttributes_Proxy( 
  23557.     IDvdInfo * This,
  23558.     /* [out] */ DVD_SubpictureATR *pATR);
  23559.  
  23560.  
  23561. void __RPC_STUB IDvdInfo_GetCurrentSubpictureAttributes_Stub(
  23562.     IRpcStubBuffer *This,
  23563.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23564.     PRPC_MESSAGE _pRpcMessage,
  23565.     DWORD *_pdwStubPhase);
  23566.  
  23567.  
  23568. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentVolumeInfo_Proxy( 
  23569.     IDvdInfo * This,
  23570.     /* [out] */ ULONG *pulNumOfVol,
  23571.     /* [out] */ ULONG *pulThisVolNum,
  23572.     /* [out] */ DVD_DISC_SIDE *pSide,
  23573.     /* [out] */ ULONG *pulNumOfTitles);
  23574.  
  23575.  
  23576. void __RPC_STUB IDvdInfo_GetCurrentVolumeInfo_Stub(
  23577.     IRpcStubBuffer *This,
  23578.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23579.     PRPC_MESSAGE _pRpcMessage,
  23580.     DWORD *_pdwStubPhase);
  23581.  
  23582.  
  23583. HRESULT STDMETHODCALLTYPE IDvdInfo_GetDVDTextInfo_Proxy( 
  23584.     IDvdInfo * This,
  23585.     /* [size_is][out] */ BYTE *pTextManager,
  23586.     /* [in] */ ULONG ulBufSize,
  23587.     /* [out] */ ULONG *pulActualSize);
  23588.  
  23589.  
  23590. void __RPC_STUB IDvdInfo_GetDVDTextInfo_Stub(
  23591.     IRpcStubBuffer *This,
  23592.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23593.     PRPC_MESSAGE _pRpcMessage,
  23594.     DWORD *_pdwStubPhase);
  23595.  
  23596.  
  23597. HRESULT STDMETHODCALLTYPE IDvdInfo_GetPlayerParentalLevel_Proxy( 
  23598.     IDvdInfo * This,
  23599.     /* [out] */ ULONG *pulParentalLevel,
  23600.     /* [out] */ ULONG *pulCountryCode);
  23601.  
  23602.  
  23603. void __RPC_STUB IDvdInfo_GetPlayerParentalLevel_Stub(
  23604.     IRpcStubBuffer *This,
  23605.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23606.     PRPC_MESSAGE _pRpcMessage,
  23607.     DWORD *_pdwStubPhase);
  23608.  
  23609.  
  23610. HRESULT STDMETHODCALLTYPE IDvdInfo_GetNumberOfChapters_Proxy( 
  23611.     IDvdInfo * This,
  23612.     /* [in] */ ULONG ulTitle,
  23613.     /* [out] */ ULONG *pulNumberOfChapters);
  23614.  
  23615.  
  23616. void __RPC_STUB IDvdInfo_GetNumberOfChapters_Stub(
  23617.     IRpcStubBuffer *This,
  23618.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23619.     PRPC_MESSAGE _pRpcMessage,
  23620.     DWORD *_pdwStubPhase);
  23621.  
  23622.  
  23623. HRESULT STDMETHODCALLTYPE IDvdInfo_GetTitleParentalLevels_Proxy( 
  23624.     IDvdInfo * This,
  23625.     /* [in] */ ULONG ulTitle,
  23626.     /* [out] */ ULONG *pulParentalLevels);
  23627.  
  23628.  
  23629. void __RPC_STUB IDvdInfo_GetTitleParentalLevels_Stub(
  23630.     IRpcStubBuffer *This,
  23631.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23632.     PRPC_MESSAGE _pRpcMessage,
  23633.     DWORD *_pdwStubPhase);
  23634.  
  23635.  
  23636. HRESULT STDMETHODCALLTYPE IDvdInfo_GetRoot_Proxy( 
  23637.     IDvdInfo * This,
  23638.     /* [size_is][out] */ LPSTR pRoot,
  23639.     /* [in] */ ULONG ulBufSize,
  23640.     /* [out] */ ULONG *pulActualSize);
  23641.  
  23642.  
  23643. void __RPC_STUB IDvdInfo_GetRoot_Stub(
  23644.     IRpcStubBuffer *This,
  23645.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23646.     PRPC_MESSAGE _pRpcMessage,
  23647.     DWORD *_pdwStubPhase);
  23648.  
  23649.  
  23650.  
  23651. #endif     /* __IDvdInfo_INTERFACE_DEFINED__ */
  23652.  
  23653.  
  23654. #ifndef __IDvdCmd_INTERFACE_DEFINED__
  23655. #define __IDvdCmd_INTERFACE_DEFINED__
  23656.  
  23657. /* interface IDvdCmd */
  23658. /* [unique][uuid][object] */ 
  23659.  
  23660.  
  23661. EXTERN_C const IID IID_IDvdCmd;
  23662.  
  23663. #if defined(__cplusplus) && !defined(CINTERFACE)
  23664.     
  23665.     MIDL_INTERFACE("5a4a97e4-94ee-4a55-9751-74b5643aa27d")
  23666.     IDvdCmd : public IUnknown
  23667.     {
  23668.     public:
  23669.         virtual HRESULT STDMETHODCALLTYPE WaitForStart( void) = 0;
  23670.         
  23671.         virtual HRESULT STDMETHODCALLTYPE WaitForEnd( void) = 0;
  23672.         
  23673.     };
  23674.     
  23675. #else     /* C style interface */
  23676.  
  23677.     typedef struct IDvdCmdVtbl
  23678.     {
  23679.         BEGIN_INTERFACE
  23680.         
  23681.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  23682.             IDvdCmd * This,
  23683.             /* [in] */ REFIID riid,
  23684.             /* [iid_is][out] */ void **ppvObject);
  23685.         
  23686.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  23687.             IDvdCmd * This);
  23688.         
  23689.         ULONG ( STDMETHODCALLTYPE *Release )( 
  23690.             IDvdCmd * This);
  23691.         
  23692.         HRESULT ( STDMETHODCALLTYPE *WaitForStart )( 
  23693.             IDvdCmd * This);
  23694.         
  23695.         HRESULT ( STDMETHODCALLTYPE *WaitForEnd )( 
  23696.             IDvdCmd * This);
  23697.         
  23698.         END_INTERFACE
  23699.     } IDvdCmdVtbl;
  23700.  
  23701.     interface IDvdCmd
  23702.     {
  23703.         CONST_VTBL struct IDvdCmdVtbl *lpVtbl;
  23704.     };
  23705.  
  23706.     
  23707.  
  23708. #ifdef COBJMACROS
  23709.  
  23710.  
  23711. #define IDvdCmd_QueryInterface(This,riid,ppvObject)    \
  23712.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  23713.  
  23714. #define IDvdCmd_AddRef(This)    \
  23715.     (This)->lpVtbl -> AddRef(This)
  23716.  
  23717. #define IDvdCmd_Release(This)    \
  23718.     (This)->lpVtbl -> Release(This)
  23719.  
  23720.  
  23721. #define IDvdCmd_WaitForStart(This)    \
  23722.     (This)->lpVtbl -> WaitForStart(This)
  23723.  
  23724. #define IDvdCmd_WaitForEnd(This)    \
  23725.     (This)->lpVtbl -> WaitForEnd(This)
  23726.  
  23727. #endif /* COBJMACROS */
  23728.  
  23729.  
  23730. #endif     /* C style interface */
  23731.  
  23732.  
  23733.  
  23734. HRESULT STDMETHODCALLTYPE IDvdCmd_WaitForStart_Proxy( 
  23735.     IDvdCmd * This);
  23736.  
  23737.  
  23738. void __RPC_STUB IDvdCmd_WaitForStart_Stub(
  23739.     IRpcStubBuffer *This,
  23740.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23741.     PRPC_MESSAGE _pRpcMessage,
  23742.     DWORD *_pdwStubPhase);
  23743.  
  23744.  
  23745. HRESULT STDMETHODCALLTYPE IDvdCmd_WaitForEnd_Proxy( 
  23746.     IDvdCmd * This);
  23747.  
  23748.  
  23749. void __RPC_STUB IDvdCmd_WaitForEnd_Stub(
  23750.     IRpcStubBuffer *This,
  23751.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23752.     PRPC_MESSAGE _pRpcMessage,
  23753.     DWORD *_pdwStubPhase);
  23754.  
  23755.  
  23756.  
  23757. #endif     /* __IDvdCmd_INTERFACE_DEFINED__ */
  23758.  
  23759.  
  23760. #ifndef __IDvdState_INTERFACE_DEFINED__
  23761. #define __IDvdState_INTERFACE_DEFINED__
  23762.  
  23763. /* interface IDvdState */
  23764. /* [unique][uuid][object] */ 
  23765.  
  23766.  
  23767. EXTERN_C const IID IID_IDvdState;
  23768.  
  23769. #if defined(__cplusplus) && !defined(CINTERFACE)
  23770.     
  23771.     MIDL_INTERFACE("86303d6d-1c4a-4087-ab42-f711167048ef")
  23772.     IDvdState : public IUnknown
  23773.     {
  23774.     public:
  23775.         virtual HRESULT STDMETHODCALLTYPE GetDiscID( 
  23776.             /* [out] */ ULONGLONG *pullUniqueID) = 0;
  23777.         
  23778.         virtual HRESULT STDMETHODCALLTYPE GetParentalLevel( 
  23779.             /* [out] */ ULONG *pulParentalLevel) = 0;
  23780.         
  23781.     };
  23782.     
  23783. #else     /* C style interface */
  23784.  
  23785.     typedef struct IDvdStateVtbl
  23786.     {
  23787.         BEGIN_INTERFACE
  23788.         
  23789.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  23790.             IDvdState * This,
  23791.             /* [in] */ REFIID riid,
  23792.             /* [iid_is][out] */ void **ppvObject);
  23793.         
  23794.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  23795.             IDvdState * This);
  23796.         
  23797.         ULONG ( STDMETHODCALLTYPE *Release )( 
  23798.             IDvdState * This);
  23799.         
  23800.         HRESULT ( STDMETHODCALLTYPE *GetDiscID )( 
  23801.             IDvdState * This,
  23802.             /* [out] */ ULONGLONG *pullUniqueID);
  23803.         
  23804.         HRESULT ( STDMETHODCALLTYPE *GetParentalLevel )( 
  23805.             IDvdState * This,
  23806.             /* [out] */ ULONG *pulParentalLevel);
  23807.         
  23808.         END_INTERFACE
  23809.     } IDvdStateVtbl;
  23810.  
  23811.     interface IDvdState
  23812.     {
  23813.         CONST_VTBL struct IDvdStateVtbl *lpVtbl;
  23814.     };
  23815.  
  23816.     
  23817.  
  23818. #ifdef COBJMACROS
  23819.  
  23820.  
  23821. #define IDvdState_QueryInterface(This,riid,ppvObject)    \
  23822.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  23823.  
  23824. #define IDvdState_AddRef(This)    \
  23825.     (This)->lpVtbl -> AddRef(This)
  23826.  
  23827. #define IDvdState_Release(This)    \
  23828.     (This)->lpVtbl -> Release(This)
  23829.  
  23830.  
  23831. #define IDvdState_GetDiscID(This,pullUniqueID)    \
  23832.     (This)->lpVtbl -> GetDiscID(This,pullUniqueID)
  23833.  
  23834. #define IDvdState_GetParentalLevel(This,pulParentalLevel)    \
  23835.     (This)->lpVtbl -> GetParentalLevel(This,pulParentalLevel)
  23836.  
  23837. #endif /* COBJMACROS */
  23838.  
  23839.  
  23840. #endif     /* C style interface */
  23841.  
  23842.  
  23843.  
  23844. HRESULT STDMETHODCALLTYPE IDvdState_GetDiscID_Proxy( 
  23845.     IDvdState * This,
  23846.     /* [out] */ ULONGLONG *pullUniqueID);
  23847.  
  23848.  
  23849. void __RPC_STUB IDvdState_GetDiscID_Stub(
  23850.     IRpcStubBuffer *This,
  23851.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23852.     PRPC_MESSAGE _pRpcMessage,
  23853.     DWORD *_pdwStubPhase);
  23854.  
  23855.  
  23856. HRESULT STDMETHODCALLTYPE IDvdState_GetParentalLevel_Proxy( 
  23857.     IDvdState * This,
  23858.     /* [out] */ ULONG *pulParentalLevel);
  23859.  
  23860.  
  23861. void __RPC_STUB IDvdState_GetParentalLevel_Stub(
  23862.     IRpcStubBuffer *This,
  23863.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23864.     PRPC_MESSAGE _pRpcMessage,
  23865.     DWORD *_pdwStubPhase);
  23866.  
  23867.  
  23868.  
  23869. #endif     /* __IDvdState_INTERFACE_DEFINED__ */
  23870.  
  23871.  
  23872. #ifndef __IDvdControl2_INTERFACE_DEFINED__
  23873. #define __IDvdControl2_INTERFACE_DEFINED__
  23874.  
  23875. /* interface IDvdControl2 */
  23876. /* [unique][uuid][object] */ 
  23877.  
  23878.  
  23879. EXTERN_C const IID IID_IDvdControl2;
  23880.  
  23881. #if defined(__cplusplus) && !defined(CINTERFACE)
  23882.     
  23883.     MIDL_INTERFACE("33BC7430-EEC0-11D2-8201-00A0C9D74842")
  23884.     IDvdControl2 : public IUnknown
  23885.     {
  23886.     public:
  23887.         virtual HRESULT STDMETHODCALLTYPE PlayTitle( 
  23888.             /* [in] */ ULONG ulTitle,
  23889.             /* [in] */ DWORD dwFlags,
  23890.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23891.         
  23892.         virtual HRESULT STDMETHODCALLTYPE PlayChapterInTitle( 
  23893.             /* [in] */ ULONG ulTitle,
  23894.             /* [in] */ ULONG ulChapter,
  23895.             /* [in] */ DWORD dwFlags,
  23896.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23897.         
  23898.         virtual HRESULT STDMETHODCALLTYPE PlayAtTimeInTitle( 
  23899.             /* [in] */ ULONG ulTitle,
  23900.             /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  23901.             /* [in] */ DWORD dwFlags,
  23902.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23903.         
  23904.         virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  23905.         
  23906.         virtual HRESULT STDMETHODCALLTYPE ReturnFromSubmenu( 
  23907.             /* [in] */ DWORD dwFlags,
  23908.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23909.         
  23910.         virtual HRESULT STDMETHODCALLTYPE PlayAtTime( 
  23911.             /* [in] */ DVD_HMSF_TIMECODE *pTime,
  23912.             /* [in] */ DWORD dwFlags,
  23913.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23914.         
  23915.         virtual HRESULT STDMETHODCALLTYPE PlayChapter( 
  23916.             /* [in] */ ULONG ulChapter,
  23917.             /* [in] */ DWORD dwFlags,
  23918.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23919.         
  23920.         virtual HRESULT STDMETHODCALLTYPE PlayPrevChapter( 
  23921.             /* [in] */ DWORD dwFlags,
  23922.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23923.         
  23924.         virtual HRESULT STDMETHODCALLTYPE ReplayChapter( 
  23925.             /* [in] */ DWORD dwFlags,
  23926.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23927.         
  23928.         virtual HRESULT STDMETHODCALLTYPE PlayNextChapter( 
  23929.             /* [in] */ DWORD dwFlags,
  23930.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23931.         
  23932.         virtual HRESULT STDMETHODCALLTYPE PlayForwards( 
  23933.             /* [in] */ double dSpeed,
  23934.             /* [in] */ DWORD dwFlags,
  23935.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23936.         
  23937.         virtual HRESULT STDMETHODCALLTYPE PlayBackwards( 
  23938.             /* [in] */ double dSpeed,
  23939.             /* [in] */ DWORD dwFlags,
  23940.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23941.         
  23942.         virtual HRESULT STDMETHODCALLTYPE ShowMenu( 
  23943.             /* [in] */ DVD_MENU_ID MenuID,
  23944.             /* [in] */ DWORD dwFlags,
  23945.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23946.         
  23947.         virtual HRESULT STDMETHODCALLTYPE Resume( 
  23948.             /* [in] */ DWORD dwFlags,
  23949.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23950.         
  23951.         virtual HRESULT STDMETHODCALLTYPE SelectRelativeButton( 
  23952.             DVD_RELATIVE_BUTTON buttonDir) = 0;
  23953.         
  23954.         virtual HRESULT STDMETHODCALLTYPE ActivateButton( void) = 0;
  23955.         
  23956.         virtual HRESULT STDMETHODCALLTYPE SelectButton( 
  23957.             /* [in] */ ULONG ulButton) = 0;
  23958.         
  23959.         virtual HRESULT STDMETHODCALLTYPE SelectAndActivateButton( 
  23960.             /* [in] */ ULONG ulButton) = 0;
  23961.         
  23962.         virtual HRESULT STDMETHODCALLTYPE StillOff( void) = 0;
  23963.         
  23964.         virtual HRESULT STDMETHODCALLTYPE Pause( 
  23965.             /* [in] */ BOOL bState) = 0;
  23966.         
  23967.         virtual HRESULT STDMETHODCALLTYPE SelectAudioStream( 
  23968.             /* [in] */ ULONG ulAudio,
  23969.             /* [in] */ DWORD dwFlags,
  23970.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23971.         
  23972.         virtual HRESULT STDMETHODCALLTYPE SelectSubpictureStream( 
  23973.             /* [in] */ ULONG ulSubPicture,
  23974.             /* [in] */ DWORD dwFlags,
  23975.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23976.         
  23977.         virtual HRESULT STDMETHODCALLTYPE SetSubpictureState( 
  23978.             /* [in] */ BOOL bState,
  23979.             /* [in] */ DWORD dwFlags,
  23980.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23981.         
  23982.         virtual HRESULT STDMETHODCALLTYPE SelectAngle( 
  23983.             /* [in] */ ULONG ulAngle,
  23984.             /* [in] */ DWORD dwFlags,
  23985.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23986.         
  23987.         virtual HRESULT STDMETHODCALLTYPE SelectParentalLevel( 
  23988.             /* [in] */ ULONG ulParentalLevel) = 0;
  23989.         
  23990.         virtual HRESULT STDMETHODCALLTYPE SelectParentalCountry( 
  23991.             /* [in] */ BYTE bCountry[ 2 ]) = 0;
  23992.         
  23993.         virtual HRESULT STDMETHODCALLTYPE SelectKaraokeAudioPresentationMode( 
  23994.             /* [in] */ ULONG ulMode) = 0;
  23995.         
  23996.         virtual HRESULT STDMETHODCALLTYPE SelectVideoModePreference( 
  23997.             /* [in] */ ULONG ulPreferredDisplayMode) = 0;
  23998.         
  23999.         virtual HRESULT STDMETHODCALLTYPE SetDVDDirectory( 
  24000.             /* [in] */ LPCWSTR pszwPath) = 0;
  24001.         
  24002.         virtual HRESULT STDMETHODCALLTYPE ActivateAtPosition( 
  24003.             /* [in] */ POINT point) = 0;
  24004.         
  24005.         virtual HRESULT STDMETHODCALLTYPE SelectAtPosition( 
  24006.             /* [in] */ POINT point) = 0;
  24007.         
  24008.         virtual HRESULT STDMETHODCALLTYPE PlayChaptersAutoStop( 
  24009.             /* [in] */ ULONG ulTitle,
  24010.             /* [in] */ ULONG ulChapter,
  24011.             /* [in] */ ULONG ulChaptersToPlay,
  24012.             /* [in] */ DWORD dwFlags,
  24013.             /* [out] */ IDvdCmd **ppCmd) = 0;
  24014.         
  24015.         virtual HRESULT STDMETHODCALLTYPE AcceptParentalLevelChange( 
  24016.             /* [in] */ BOOL bAccept) = 0;
  24017.         
  24018.         virtual HRESULT STDMETHODCALLTYPE SetOption( 
  24019.             /* [in] */ DVD_OPTION_FLAG flag,
  24020.             /* [in] */ BOOL fState) = 0;
  24021.         
  24022.         virtual HRESULT STDMETHODCALLTYPE SetState( 
  24023.             /* [in] */ IDvdState *pState,
  24024.             /* [in] */ DWORD dwFlags,
  24025.             /* [out] */ IDvdCmd **ppCmd) = 0;
  24026.         
  24027.         virtual HRESULT STDMETHODCALLTYPE PlayPeriodInTitleAutoStop( 
  24028.             /* [in] */ ULONG ulTitle,
  24029.             /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  24030.             /* [in] */ DVD_HMSF_TIMECODE *pEndTime,
  24031.             /* [in] */ DWORD dwFlags,
  24032.             /* [out] */ IDvdCmd **ppCmd) = 0;
  24033.         
  24034.         virtual HRESULT STDMETHODCALLTYPE SetGPRM( 
  24035.             /* [in] */ ULONG ulIndex,
  24036.             /* [in] */ WORD wValue,
  24037.             /* [in] */ DWORD dwFlags,
  24038.             /* [out] */ IDvdCmd **ppCmd) = 0;
  24039.         
  24040.         virtual HRESULT STDMETHODCALLTYPE SelectDefaultMenuLanguage( 
  24041.             /* [in] */ LCID Language) = 0;
  24042.         
  24043.         virtual HRESULT STDMETHODCALLTYPE SelectDefaultAudioLanguage( 
  24044.             /* [in] */ LCID Language,
  24045.             /* [in] */ DVD_AUDIO_LANG_EXT audioExtension) = 0;
  24046.         
  24047.         virtual HRESULT STDMETHODCALLTYPE SelectDefaultSubpictureLanguage( 
  24048.             /* [in] */ LCID Language,
  24049.             /* [in] */ DVD_SUBPICTURE_LANG_EXT subpictureExtension) = 0;
  24050.         
  24051.     };
  24052.     
  24053. #else     /* C style interface */
  24054.  
  24055.     typedef struct IDvdControl2Vtbl
  24056.     {
  24057.         BEGIN_INTERFACE
  24058.         
  24059.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  24060.             IDvdControl2 * This,
  24061.             /* [in] */ REFIID riid,
  24062.             /* [iid_is][out] */ void **ppvObject);
  24063.         
  24064.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  24065.             IDvdControl2 * This);
  24066.         
  24067.         ULONG ( STDMETHODCALLTYPE *Release )( 
  24068.             IDvdControl2 * This);
  24069.         
  24070.         HRESULT ( STDMETHODCALLTYPE *PlayTitle )( 
  24071.             IDvdControl2 * This,
  24072.             /* [in] */ ULONG ulTitle,
  24073.             /* [in] */ DWORD dwFlags,
  24074.             /* [out] */ IDvdCmd **ppCmd);
  24075.         
  24076.         HRESULT ( STDMETHODCALLTYPE *PlayChapterInTitle )( 
  24077.             IDvdControl2 * This,
  24078.             /* [in] */ ULONG ulTitle,
  24079.             /* [in] */ ULONG ulChapter,
  24080.             /* [in] */ DWORD dwFlags,
  24081.             /* [out] */ IDvdCmd **ppCmd);
  24082.         
  24083.         HRESULT ( STDMETHODCALLTYPE *PlayAtTimeInTitle )( 
  24084.             IDvdControl2 * This,
  24085.             /* [in] */ ULONG ulTitle,
  24086.             /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  24087.             /* [in] */ DWORD dwFlags,
  24088.             /* [out] */ IDvdCmd **ppCmd);
  24089.         
  24090.         HRESULT ( STDMETHODCALLTYPE *Stop )( 
  24091.             IDvdControl2 * This);
  24092.         
  24093.         HRESULT ( STDMETHODCALLTYPE *ReturnFromSubmenu )( 
  24094.             IDvdControl2 * This,
  24095.             /* [in] */ DWORD dwFlags,
  24096.             /* [out] */ IDvdCmd **ppCmd);
  24097.         
  24098.         HRESULT ( STDMETHODCALLTYPE *PlayAtTime )( 
  24099.             IDvdControl2 * This,
  24100.             /* [in] */ DVD_HMSF_TIMECODE *pTime,
  24101.             /* [in] */ DWORD dwFlags,
  24102.             /* [out] */ IDvdCmd **ppCmd);
  24103.         
  24104.         HRESULT ( STDMETHODCALLTYPE *PlayChapter )( 
  24105.             IDvdControl2 * This,
  24106.             /* [in] */ ULONG ulChapter,
  24107.             /* [in] */ DWORD dwFlags,
  24108.             /* [out] */ IDvdCmd **ppCmd);
  24109.         
  24110.         HRESULT ( STDMETHODCALLTYPE *PlayPrevChapter )( 
  24111.             IDvdControl2 * This,
  24112.             /* [in] */ DWORD dwFlags,
  24113.             /* [out] */ IDvdCmd **ppCmd);
  24114.         
  24115.         HRESULT ( STDMETHODCALLTYPE *ReplayChapter )( 
  24116.             IDvdControl2 * This,
  24117.             /* [in] */ DWORD dwFlags,
  24118.             /* [out] */ IDvdCmd **ppCmd);
  24119.         
  24120.         HRESULT ( STDMETHODCALLTYPE *PlayNextChapter )( 
  24121.             IDvdControl2 * This,
  24122.             /* [in] */ DWORD dwFlags,
  24123.             /* [out] */ IDvdCmd **ppCmd);
  24124.         
  24125.         HRESULT ( STDMETHODCALLTYPE *PlayForwards )( 
  24126.             IDvdControl2 * This,
  24127.             /* [in] */ double dSpeed,
  24128.             /* [in] */ DWORD dwFlags,
  24129.             /* [out] */ IDvdCmd **ppCmd);
  24130.         
  24131.         HRESULT ( STDMETHODCALLTYPE *PlayBackwards )( 
  24132.             IDvdControl2 * This,
  24133.             /* [in] */ double dSpeed,
  24134.             /* [in] */ DWORD dwFlags,
  24135.             /* [out] */ IDvdCmd **ppCmd);
  24136.         
  24137.         HRESULT ( STDMETHODCALLTYPE *ShowMenu )( 
  24138.             IDvdControl2 * This,
  24139.             /* [in] */ DVD_MENU_ID MenuID,
  24140.             /* [in] */ DWORD dwFlags,
  24141.             /* [out] */ IDvdCmd **ppCmd);
  24142.         
  24143.         HRESULT ( STDMETHODCALLTYPE *Resume )( 
  24144.             IDvdControl2 * This,
  24145.             /* [in] */ DWORD dwFlags,
  24146.             /* [out] */ IDvdCmd **ppCmd);
  24147.         
  24148.         HRESULT ( STDMETHODCALLTYPE *SelectRelativeButton )( 
  24149.             IDvdControl2 * This,
  24150.             DVD_RELATIVE_BUTTON buttonDir);
  24151.         
  24152.         HRESULT ( STDMETHODCALLTYPE *ActivateButton )( 
  24153.             IDvdControl2 * This);
  24154.         
  24155.         HRESULT ( STDMETHODCALLTYPE *SelectButton )( 
  24156.             IDvdControl2 * This,
  24157.             /* [in] */ ULONG ulButton);
  24158.         
  24159.         HRESULT ( STDMETHODCALLTYPE *SelectAndActivateButton )( 
  24160.             IDvdControl2 * This,
  24161.             /* [in] */ ULONG ulButton);
  24162.         
  24163.         HRESULT ( STDMETHODCALLTYPE *StillOff )( 
  24164.             IDvdControl2 * This);
  24165.         
  24166.         HRESULT ( STDMETHODCALLTYPE *Pause )( 
  24167.             IDvdControl2 * This,
  24168.             /* [in] */ BOOL bState);
  24169.         
  24170.         HRESULT ( STDMETHODCALLTYPE *SelectAudioStream )( 
  24171.             IDvdControl2 * This,
  24172.             /* [in] */ ULONG ulAudio,
  24173.             /* [in] */ DWORD dwFlags,
  24174.             /* [out] */ IDvdCmd **ppCmd);
  24175.         
  24176.         HRESULT ( STDMETHODCALLTYPE *SelectSubpictureStream )( 
  24177.             IDvdControl2 * This,
  24178.             /* [in] */ ULONG ulSubPicture,
  24179.             /* [in] */ DWORD dwFlags,
  24180.             /* [out] */ IDvdCmd **ppCmd);
  24181.         
  24182.         HRESULT ( STDMETHODCALLTYPE *SetSubpictureState )( 
  24183.             IDvdControl2 * This,
  24184.             /* [in] */ BOOL bState,
  24185.             /* [in] */ DWORD dwFlags,
  24186.             /* [out] */ IDvdCmd **ppCmd);
  24187.         
  24188.         HRESULT ( STDMETHODCALLTYPE *SelectAngle )( 
  24189.             IDvdControl2 * This,
  24190.             /* [in] */ ULONG ulAngle,
  24191.             /* [in] */ DWORD dwFlags,
  24192.             /* [out] */ IDvdCmd **ppCmd);
  24193.         
  24194.         HRESULT ( STDMETHODCALLTYPE *SelectParentalLevel )( 
  24195.             IDvdControl2 * This,
  24196.             /* [in] */ ULONG ulParentalLevel);
  24197.         
  24198.         HRESULT ( STDMETHODCALLTYPE *SelectParentalCountry )( 
  24199.             IDvdControl2 * This,
  24200.             /* [in] */ BYTE bCountry[ 2 ]);
  24201.         
  24202.         HRESULT ( STDMETHODCALLTYPE *SelectKaraokeAudioPresentationMode )( 
  24203.             IDvdControl2 * This,
  24204.             /* [in] */ ULONG ulMode);
  24205.         
  24206.         HRESULT ( STDMETHODCALLTYPE *SelectVideoModePreference )( 
  24207.             IDvdControl2 * This,
  24208.             /* [in] */ ULONG ulPreferredDisplayMode);
  24209.         
  24210.         HRESULT ( STDMETHODCALLTYPE *SetDVDDirectory )( 
  24211.             IDvdControl2 * This,
  24212.             /* [in] */ LPCWSTR pszwPath);
  24213.         
  24214.         HRESULT ( STDMETHODCALLTYPE *ActivateAtPosition )( 
  24215.             IDvdControl2 * This,
  24216.             /* [in] */ POINT point);
  24217.         
  24218.         HRESULT ( STDMETHODCALLTYPE *SelectAtPosition )( 
  24219.             IDvdControl2 * This,
  24220.             /* [in] */ POINT point);
  24221.         
  24222.         HRESULT ( STDMETHODCALLTYPE *PlayChaptersAutoStop )( 
  24223.             IDvdControl2 * This,
  24224.             /* [in] */ ULONG ulTitle,
  24225.             /* [in] */ ULONG ulChapter,
  24226.             /* [in] */ ULONG ulChaptersToPlay,
  24227.             /* [in] */ DWORD dwFlags,
  24228.             /* [out] */ IDvdCmd **ppCmd);
  24229.         
  24230.         HRESULT ( STDMETHODCALLTYPE *AcceptParentalLevelChange )( 
  24231.             IDvdControl2 * This,
  24232.             /* [in] */ BOOL bAccept);
  24233.         
  24234.         HRESULT ( STDMETHODCALLTYPE *SetOption )( 
  24235.             IDvdControl2 * This,
  24236.             /* [in] */ DVD_OPTION_FLAG flag,
  24237.             /* [in] */ BOOL fState);
  24238.         
  24239.         HRESULT ( STDMETHODCALLTYPE *SetState )( 
  24240.             IDvdControl2 * This,
  24241.             /* [in] */ IDvdState *pState,
  24242.             /* [in] */ DWORD dwFlags,
  24243.             /* [out] */ IDvdCmd **ppCmd);
  24244.         
  24245.         HRESULT ( STDMETHODCALLTYPE *PlayPeriodInTitleAutoStop )( 
  24246.             IDvdControl2 * This,
  24247.             /* [in] */ ULONG ulTitle,
  24248.             /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  24249.             /* [in] */ DVD_HMSF_TIMECODE *pEndTime,
  24250.             /* [in] */ DWORD dwFlags,
  24251.             /* [out] */ IDvdCmd **ppCmd);
  24252.         
  24253.         HRESULT ( STDMETHODCALLTYPE *SetGPRM )( 
  24254.             IDvdControl2 * This,
  24255.             /* [in] */ ULONG ulIndex,
  24256.             /* [in] */ WORD wValue,
  24257.             /* [in] */ DWORD dwFlags,
  24258.             /* [out] */ IDvdCmd **ppCmd);
  24259.         
  24260.         HRESULT ( STDMETHODCALLTYPE *SelectDefaultMenuLanguage )( 
  24261.             IDvdControl2 * This,
  24262.             /* [in] */ LCID Language);
  24263.         
  24264.         HRESULT ( STDMETHODCALLTYPE *SelectDefaultAudioLanguage )( 
  24265.             IDvdControl2 * This,
  24266.             /* [in] */ LCID Language,
  24267.             /* [in] */ DVD_AUDIO_LANG_EXT audioExtension);
  24268.         
  24269.         HRESULT ( STDMETHODCALLTYPE *SelectDefaultSubpictureLanguage )( 
  24270.             IDvdControl2 * This,
  24271.             /* [in] */ LCID Language,
  24272.             /* [in] */ DVD_SUBPICTURE_LANG_EXT subpictureExtension);
  24273.         
  24274.         END_INTERFACE
  24275.     } IDvdControl2Vtbl;
  24276.  
  24277.     interface IDvdControl2
  24278.     {
  24279.         CONST_VTBL struct IDvdControl2Vtbl *lpVtbl;
  24280.     };
  24281.  
  24282.     
  24283.  
  24284. #ifdef COBJMACROS
  24285.  
  24286.  
  24287. #define IDvdControl2_QueryInterface(This,riid,ppvObject)    \
  24288.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  24289.  
  24290. #define IDvdControl2_AddRef(This)    \
  24291.     (This)->lpVtbl -> AddRef(This)
  24292.  
  24293. #define IDvdControl2_Release(This)    \
  24294.     (This)->lpVtbl -> Release(This)
  24295.  
  24296.  
  24297. #define IDvdControl2_PlayTitle(This,ulTitle,dwFlags,ppCmd)    \
  24298.     (This)->lpVtbl -> PlayTitle(This,ulTitle,dwFlags,ppCmd)
  24299.  
  24300. #define IDvdControl2_PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd)    \
  24301.     (This)->lpVtbl -> PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd)
  24302.  
  24303. #define IDvdControl2_PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd)    \
  24304.     (This)->lpVtbl -> PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd)
  24305.  
  24306. #define IDvdControl2_Stop(This)    \
  24307.     (This)->lpVtbl -> Stop(This)
  24308.  
  24309. #define IDvdControl2_ReturnFromSubmenu(This,dwFlags,ppCmd)    \
  24310.     (This)->lpVtbl -> ReturnFromSubmenu(This,dwFlags,ppCmd)
  24311.  
  24312. #define IDvdControl2_PlayAtTime(This,pTime,dwFlags,ppCmd)    \
  24313.     (This)->lpVtbl -> PlayAtTime(This,pTime,dwFlags,ppCmd)
  24314.  
  24315. #define IDvdControl2_PlayChapter(This,ulChapter,dwFlags,ppCmd)    \
  24316.     (This)->lpVtbl -> PlayChapter(This,ulChapter,dwFlags,ppCmd)
  24317.  
  24318. #define IDvdControl2_PlayPrevChapter(This,dwFlags,ppCmd)    \
  24319.     (This)->lpVtbl -> PlayPrevChapter(This,dwFlags,ppCmd)
  24320.  
  24321. #define IDvdControl2_ReplayChapter(This,dwFlags,ppCmd)    \
  24322.     (This)->lpVtbl -> ReplayChapter(This,dwFlags,ppCmd)
  24323.  
  24324. #define IDvdControl2_PlayNextChapter(This,dwFlags,ppCmd)    \
  24325.     (This)->lpVtbl -> PlayNextChapter(This,dwFlags,ppCmd)
  24326.  
  24327. #define IDvdControl2_PlayForwards(This,dSpeed,dwFlags,ppCmd)    \
  24328.     (This)->lpVtbl -> PlayForwards(This,dSpeed,dwFlags,ppCmd)
  24329.  
  24330. #define IDvdControl2_PlayBackwards(This,dSpeed,dwFlags,ppCmd)    \
  24331.     (This)->lpVtbl -> PlayBackwards(This,dSpeed,dwFlags,ppCmd)
  24332.  
  24333. #define IDvdControl2_ShowMenu(This,MenuID,dwFlags,ppCmd)    \
  24334.     (This)->lpVtbl -> ShowMenu(This,MenuID,dwFlags,ppCmd)
  24335.  
  24336. #define IDvdControl2_Resume(This,dwFlags,ppCmd)    \
  24337.     (This)->lpVtbl -> Resume(This,dwFlags,ppCmd)
  24338.  
  24339. #define IDvdControl2_SelectRelativeButton(This,buttonDir)    \
  24340.     (This)->lpVtbl -> SelectRelativeButton(This,buttonDir)
  24341.  
  24342. #define IDvdControl2_ActivateButton(This)    \
  24343.     (This)->lpVtbl -> ActivateButton(This)
  24344.  
  24345. #define IDvdControl2_SelectButton(This,ulButton)    \
  24346.     (This)->lpVtbl -> SelectButton(This,ulButton)
  24347.  
  24348. #define IDvdControl2_SelectAndActivateButton(This,ulButton)    \
  24349.     (This)->lpVtbl -> SelectAndActivateButton(This,ulButton)
  24350.  
  24351. #define IDvdControl2_StillOff(This)    \
  24352.     (This)->lpVtbl -> StillOff(This)
  24353.  
  24354. #define IDvdControl2_Pause(This,bState)    \
  24355.     (This)->lpVtbl -> Pause(This,bState)
  24356.  
  24357. #define IDvdControl2_SelectAudioStream(This,ulAudio,dwFlags,ppCmd)    \
  24358.     (This)->lpVtbl -> SelectAudioStream(This,ulAudio,dwFlags,ppCmd)
  24359.  
  24360. #define IDvdControl2_SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd)    \
  24361.     (This)->lpVtbl -> SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd)
  24362.  
  24363. #define IDvdControl2_SetSubpictureState(This,bState,dwFlags,ppCmd)    \
  24364.     (This)->lpVtbl -> SetSubpictureState(This,bState,dwFlags,ppCmd)
  24365.  
  24366. #define IDvdControl2_SelectAngle(This,ulAngle,dwFlags,ppCmd)    \
  24367.     (This)->lpVtbl -> SelectAngle(This,ulAngle,dwFlags,ppCmd)
  24368.  
  24369. #define IDvdControl2_SelectParentalLevel(This,ulParentalLevel)    \
  24370.     (This)->lpVtbl -> SelectParentalLevel(This,ulParentalLevel)
  24371.  
  24372. #define IDvdControl2_SelectParentalCountry(This,bCountry)    \
  24373.     (This)->lpVtbl -> SelectParentalCountry(This,bCountry)
  24374.  
  24375. #define IDvdControl2_SelectKaraokeAudioPresentationMode(This,ulMode)    \
  24376.     (This)->lpVtbl -> SelectKaraokeAudioPresentationMode(This,ulMode)
  24377.  
  24378. #define IDvdControl2_SelectVideoModePreference(This,ulPreferredDisplayMode)    \
  24379.     (This)->lpVtbl -> SelectVideoModePreference(This,ulPreferredDisplayMode)
  24380.  
  24381. #define IDvdControl2_SetDVDDirectory(This,pszwPath)    \
  24382.     (This)->lpVtbl -> SetDVDDirectory(This,pszwPath)
  24383.  
  24384. #define IDvdControl2_ActivateAtPosition(This,point)    \
  24385.     (This)->lpVtbl -> ActivateAtPosition(This,point)
  24386.  
  24387. #define IDvdControl2_SelectAtPosition(This,point)    \
  24388.     (This)->lpVtbl -> SelectAtPosition(This,point)
  24389.  
  24390. #define IDvdControl2_PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd)    \
  24391.     (This)->lpVtbl -> PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd)
  24392.  
  24393. #define IDvdControl2_AcceptParentalLevelChange(This,bAccept)    \
  24394.     (This)->lpVtbl -> AcceptParentalLevelChange(This,bAccept)
  24395.  
  24396. #define IDvdControl2_SetOption(This,flag,fState)    \
  24397.     (This)->lpVtbl -> SetOption(This,flag,fState)
  24398.  
  24399. #define IDvdControl2_SetState(This,pState,dwFlags,ppCmd)    \
  24400.     (This)->lpVtbl -> SetState(This,pState,dwFlags,ppCmd)
  24401.  
  24402. #define IDvdControl2_PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd)    \
  24403.     (This)->lpVtbl -> PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd)
  24404.  
  24405. #define IDvdControl2_SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd)    \
  24406.     (This)->lpVtbl -> SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd)
  24407.  
  24408. #define IDvdControl2_SelectDefaultMenuLanguage(This,Language)    \
  24409.     (This)->lpVtbl -> SelectDefaultMenuLanguage(This,Language)
  24410.  
  24411. #define IDvdControl2_SelectDefaultAudioLanguage(This,Language,audioExtension)    \
  24412.     (This)->lpVtbl -> SelectDefaultAudioLanguage(This,Language,audioExtension)
  24413.  
  24414. #define IDvdControl2_SelectDefaultSubpictureLanguage(This,Language,subpictureExtension)    \
  24415.     (This)->lpVtbl -> SelectDefaultSubpictureLanguage(This,Language,subpictureExtension)
  24416.  
  24417. #endif /* COBJMACROS */
  24418.  
  24419.  
  24420. #endif     /* C style interface */
  24421.  
  24422.  
  24423.  
  24424. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayTitle_Proxy( 
  24425.     IDvdControl2 * This,
  24426.     /* [in] */ ULONG ulTitle,
  24427.     /* [in] */ DWORD dwFlags,
  24428.     /* [out] */ IDvdCmd **ppCmd);
  24429.  
  24430.  
  24431. void __RPC_STUB IDvdControl2_PlayTitle_Stub(
  24432.     IRpcStubBuffer *This,
  24433.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24434.     PRPC_MESSAGE _pRpcMessage,
  24435.     DWORD *_pdwStubPhase);
  24436.  
  24437.  
  24438. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayChapterInTitle_Proxy( 
  24439.     IDvdControl2 * This,
  24440.     /* [in] */ ULONG ulTitle,
  24441.     /* [in] */ ULONG ulChapter,
  24442.     /* [in] */ DWORD dwFlags,
  24443.     /* [out] */ IDvdCmd **ppCmd);
  24444.  
  24445.  
  24446. void __RPC_STUB IDvdControl2_PlayChapterInTitle_Stub(
  24447.     IRpcStubBuffer *This,
  24448.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24449.     PRPC_MESSAGE _pRpcMessage,
  24450.     DWORD *_pdwStubPhase);
  24451.  
  24452.  
  24453. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayAtTimeInTitle_Proxy( 
  24454.     IDvdControl2 * This,
  24455.     /* [in] */ ULONG ulTitle,
  24456.     /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  24457.     /* [in] */ DWORD dwFlags,
  24458.     /* [out] */ IDvdCmd **ppCmd);
  24459.  
  24460.  
  24461. void __RPC_STUB IDvdControl2_PlayAtTimeInTitle_Stub(
  24462.     IRpcStubBuffer *This,
  24463.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24464.     PRPC_MESSAGE _pRpcMessage,
  24465.     DWORD *_pdwStubPhase);
  24466.  
  24467.  
  24468. HRESULT STDMETHODCALLTYPE IDvdControl2_Stop_Proxy( 
  24469.     IDvdControl2 * This);
  24470.  
  24471.  
  24472. void __RPC_STUB IDvdControl2_Stop_Stub(
  24473.     IRpcStubBuffer *This,
  24474.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24475.     PRPC_MESSAGE _pRpcMessage,
  24476.     DWORD *_pdwStubPhase);
  24477.  
  24478.  
  24479. HRESULT STDMETHODCALLTYPE IDvdControl2_ReturnFromSubmenu_Proxy( 
  24480.     IDvdControl2 * This,
  24481.     /* [in] */ DWORD dwFlags,
  24482.     /* [out] */ IDvdCmd **ppCmd);
  24483.  
  24484.  
  24485. void __RPC_STUB IDvdControl2_ReturnFromSubmenu_Stub(
  24486.     IRpcStubBuffer *This,
  24487.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24488.     PRPC_MESSAGE _pRpcMessage,
  24489.     DWORD *_pdwStubPhase);
  24490.  
  24491.  
  24492. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayAtTime_Proxy( 
  24493.     IDvdControl2 * This,
  24494.     /* [in] */ DVD_HMSF_TIMECODE *pTime,
  24495.     /* [in] */ DWORD dwFlags,
  24496.     /* [out] */ IDvdCmd **ppCmd);
  24497.  
  24498.  
  24499. void __RPC_STUB IDvdControl2_PlayAtTime_Stub(
  24500.     IRpcStubBuffer *This,
  24501.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24502.     PRPC_MESSAGE _pRpcMessage,
  24503.     DWORD *_pdwStubPhase);
  24504.  
  24505.  
  24506. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayChapter_Proxy( 
  24507.     IDvdControl2 * This,
  24508.     /* [in] */ ULONG ulChapter,
  24509.     /* [in] */ DWORD dwFlags,
  24510.     /* [out] */ IDvdCmd **ppCmd);
  24511.  
  24512.  
  24513. void __RPC_STUB IDvdControl2_PlayChapter_Stub(
  24514.     IRpcStubBuffer *This,
  24515.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24516.     PRPC_MESSAGE _pRpcMessage,
  24517.     DWORD *_pdwStubPhase);
  24518.  
  24519.  
  24520. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayPrevChapter_Proxy( 
  24521.     IDvdControl2 * This,
  24522.     /* [in] */ DWORD dwFlags,
  24523.     /* [out] */ IDvdCmd **ppCmd);
  24524.  
  24525.  
  24526. void __RPC_STUB IDvdControl2_PlayPrevChapter_Stub(
  24527.     IRpcStubBuffer *This,
  24528.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24529.     PRPC_MESSAGE _pRpcMessage,
  24530.     DWORD *_pdwStubPhase);
  24531.  
  24532.  
  24533. HRESULT STDMETHODCALLTYPE IDvdControl2_ReplayChapter_Proxy( 
  24534.     IDvdControl2 * This,
  24535.     /* [in] */ DWORD dwFlags,
  24536.     /* [out] */ IDvdCmd **ppCmd);
  24537.  
  24538.  
  24539. void __RPC_STUB IDvdControl2_ReplayChapter_Stub(
  24540.     IRpcStubBuffer *This,
  24541.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24542.     PRPC_MESSAGE _pRpcMessage,
  24543.     DWORD *_pdwStubPhase);
  24544.  
  24545.  
  24546. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayNextChapter_Proxy( 
  24547.     IDvdControl2 * This,
  24548.     /* [in] */ DWORD dwFlags,
  24549.     /* [out] */ IDvdCmd **ppCmd);
  24550.  
  24551.  
  24552. void __RPC_STUB IDvdControl2_PlayNextChapter_Stub(
  24553.     IRpcStubBuffer *This,
  24554.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24555.     PRPC_MESSAGE _pRpcMessage,
  24556.     DWORD *_pdwStubPhase);
  24557.  
  24558.  
  24559. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayForwards_Proxy( 
  24560.     IDvdControl2 * This,
  24561.     /* [in] */ double dSpeed,
  24562.     /* [in] */ DWORD dwFlags,
  24563.     /* [out] */ IDvdCmd **ppCmd);
  24564.  
  24565.  
  24566. void __RPC_STUB IDvdControl2_PlayForwards_Stub(
  24567.     IRpcStubBuffer *This,
  24568.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24569.     PRPC_MESSAGE _pRpcMessage,
  24570.     DWORD *_pdwStubPhase);
  24571.  
  24572.  
  24573. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayBackwards_Proxy( 
  24574.     IDvdControl2 * This,
  24575.     /* [in] */ double dSpeed,
  24576.     /* [in] */ DWORD dwFlags,
  24577.     /* [out] */ IDvdCmd **ppCmd);
  24578.  
  24579.  
  24580. void __RPC_STUB IDvdControl2_PlayBackwards_Stub(
  24581.     IRpcStubBuffer *This,
  24582.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24583.     PRPC_MESSAGE _pRpcMessage,
  24584.     DWORD *_pdwStubPhase);
  24585.  
  24586.  
  24587. HRESULT STDMETHODCALLTYPE IDvdControl2_ShowMenu_Proxy( 
  24588.     IDvdControl2 * This,
  24589.     /* [in] */ DVD_MENU_ID MenuID,
  24590.     /* [in] */ DWORD dwFlags,
  24591.     /* [out] */ IDvdCmd **ppCmd);
  24592.  
  24593.  
  24594. void __RPC_STUB IDvdControl2_ShowMenu_Stub(
  24595.     IRpcStubBuffer *This,
  24596.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24597.     PRPC_MESSAGE _pRpcMessage,
  24598.     DWORD *_pdwStubPhase);
  24599.  
  24600.  
  24601. HRESULT STDMETHODCALLTYPE IDvdControl2_Resume_Proxy( 
  24602.     IDvdControl2 * This,
  24603.     /* [in] */ DWORD dwFlags,
  24604.     /* [out] */ IDvdCmd **ppCmd);
  24605.  
  24606.  
  24607. void __RPC_STUB IDvdControl2_Resume_Stub(
  24608.     IRpcStubBuffer *This,
  24609.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24610.     PRPC_MESSAGE _pRpcMessage,
  24611.     DWORD *_pdwStubPhase);
  24612.  
  24613.  
  24614. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectRelativeButton_Proxy( 
  24615.     IDvdControl2 * This,
  24616.     DVD_RELATIVE_BUTTON buttonDir);
  24617.  
  24618.  
  24619. void __RPC_STUB IDvdControl2_SelectRelativeButton_Stub(
  24620.     IRpcStubBuffer *This,
  24621.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24622.     PRPC_MESSAGE _pRpcMessage,
  24623.     DWORD *_pdwStubPhase);
  24624.  
  24625.  
  24626. HRESULT STDMETHODCALLTYPE IDvdControl2_ActivateButton_Proxy( 
  24627.     IDvdControl2 * This);
  24628.  
  24629.  
  24630. void __RPC_STUB IDvdControl2_ActivateButton_Stub(
  24631.     IRpcStubBuffer *This,
  24632.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24633.     PRPC_MESSAGE _pRpcMessage,
  24634.     DWORD *_pdwStubPhase);
  24635.  
  24636.  
  24637. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectButton_Proxy( 
  24638.     IDvdControl2 * This,
  24639.     /* [in] */ ULONG ulButton);
  24640.  
  24641.  
  24642. void __RPC_STUB IDvdControl2_SelectButton_Stub(
  24643.     IRpcStubBuffer *This,
  24644.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24645.     PRPC_MESSAGE _pRpcMessage,
  24646.     DWORD *_pdwStubPhase);
  24647.  
  24648.  
  24649. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAndActivateButton_Proxy( 
  24650.     IDvdControl2 * This,
  24651.     /* [in] */ ULONG ulButton);
  24652.  
  24653.  
  24654. void __RPC_STUB IDvdControl2_SelectAndActivateButton_Stub(
  24655.     IRpcStubBuffer *This,
  24656.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24657.     PRPC_MESSAGE _pRpcMessage,
  24658.     DWORD *_pdwStubPhase);
  24659.  
  24660.  
  24661. HRESULT STDMETHODCALLTYPE IDvdControl2_StillOff_Proxy( 
  24662.     IDvdControl2 * This);
  24663.  
  24664.  
  24665. void __RPC_STUB IDvdControl2_StillOff_Stub(
  24666.     IRpcStubBuffer *This,
  24667.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24668.     PRPC_MESSAGE _pRpcMessage,
  24669.     DWORD *_pdwStubPhase);
  24670.  
  24671.  
  24672. HRESULT STDMETHODCALLTYPE IDvdControl2_Pause_Proxy( 
  24673.     IDvdControl2 * This,
  24674.     /* [in] */ BOOL bState);
  24675.  
  24676.  
  24677. void __RPC_STUB IDvdControl2_Pause_Stub(
  24678.     IRpcStubBuffer *This,
  24679.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24680.     PRPC_MESSAGE _pRpcMessage,
  24681.     DWORD *_pdwStubPhase);
  24682.  
  24683.  
  24684. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAudioStream_Proxy( 
  24685.     IDvdControl2 * This,
  24686.     /* [in] */ ULONG ulAudio,
  24687.     /* [in] */ DWORD dwFlags,
  24688.     /* [out] */ IDvdCmd **ppCmd);
  24689.  
  24690.  
  24691. void __RPC_STUB IDvdControl2_SelectAudioStream_Stub(
  24692.     IRpcStubBuffer *This,
  24693.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24694.     PRPC_MESSAGE _pRpcMessage,
  24695.     DWORD *_pdwStubPhase);
  24696.  
  24697.  
  24698. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectSubpictureStream_Proxy( 
  24699.     IDvdControl2 * This,
  24700.     /* [in] */ ULONG ulSubPicture,
  24701.     /* [in] */ DWORD dwFlags,
  24702.     /* [out] */ IDvdCmd **ppCmd);
  24703.  
  24704.  
  24705. void __RPC_STUB IDvdControl2_SelectSubpictureStream_Stub(
  24706.     IRpcStubBuffer *This,
  24707.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24708.     PRPC_MESSAGE _pRpcMessage,
  24709.     DWORD *_pdwStubPhase);
  24710.  
  24711.  
  24712. HRESULT STDMETHODCALLTYPE IDvdControl2_SetSubpictureState_Proxy( 
  24713.     IDvdControl2 * This,
  24714.     /* [in] */ BOOL bState,
  24715.     /* [in] */ DWORD dwFlags,
  24716.     /* [out] */ IDvdCmd **ppCmd);
  24717.  
  24718.  
  24719. void __RPC_STUB IDvdControl2_SetSubpictureState_Stub(
  24720.     IRpcStubBuffer *This,
  24721.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24722.     PRPC_MESSAGE _pRpcMessage,
  24723.     DWORD *_pdwStubPhase);
  24724.  
  24725.  
  24726. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAngle_Proxy( 
  24727.     IDvdControl2 * This,
  24728.     /* [in] */ ULONG ulAngle,
  24729.     /* [in] */ DWORD dwFlags,
  24730.     /* [out] */ IDvdCmd **ppCmd);
  24731.  
  24732.  
  24733. void __RPC_STUB IDvdControl2_SelectAngle_Stub(
  24734.     IRpcStubBuffer *This,
  24735.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24736.     PRPC_MESSAGE _pRpcMessage,
  24737.     DWORD *_pdwStubPhase);
  24738.  
  24739.  
  24740. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectParentalLevel_Proxy( 
  24741.     IDvdControl2 * This,
  24742.     /* [in] */ ULONG ulParentalLevel);
  24743.  
  24744.  
  24745. void __RPC_STUB IDvdControl2_SelectParentalLevel_Stub(
  24746.     IRpcStubBuffer *This,
  24747.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24748.     PRPC_MESSAGE _pRpcMessage,
  24749.     DWORD *_pdwStubPhase);
  24750.  
  24751.  
  24752. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectParentalCountry_Proxy( 
  24753.     IDvdControl2 * This,
  24754.     /* [in] */ BYTE bCountry[ 2 ]);
  24755.  
  24756.  
  24757. void __RPC_STUB IDvdControl2_SelectParentalCountry_Stub(
  24758.     IRpcStubBuffer *This,
  24759.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24760.     PRPC_MESSAGE _pRpcMessage,
  24761.     DWORD *_pdwStubPhase);
  24762.  
  24763.  
  24764. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectKaraokeAudioPresentationMode_Proxy( 
  24765.     IDvdControl2 * This,
  24766.     /* [in] */ ULONG ulMode);
  24767.  
  24768.  
  24769. void __RPC_STUB IDvdControl2_SelectKaraokeAudioPresentationMode_Stub(
  24770.     IRpcStubBuffer *This,
  24771.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24772.     PRPC_MESSAGE _pRpcMessage,
  24773.     DWORD *_pdwStubPhase);
  24774.  
  24775.  
  24776. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectVideoModePreference_Proxy( 
  24777.     IDvdControl2 * This,
  24778.     /* [in] */ ULONG ulPreferredDisplayMode);
  24779.  
  24780.  
  24781. void __RPC_STUB IDvdControl2_SelectVideoModePreference_Stub(
  24782.     IRpcStubBuffer *This,
  24783.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24784.     PRPC_MESSAGE _pRpcMessage,
  24785.     DWORD *_pdwStubPhase);
  24786.  
  24787.  
  24788. HRESULT STDMETHODCALLTYPE IDvdControl2_SetDVDDirectory_Proxy( 
  24789.     IDvdControl2 * This,
  24790.     /* [in] */ LPCWSTR pszwPath);
  24791.  
  24792.  
  24793. void __RPC_STUB IDvdControl2_SetDVDDirectory_Stub(
  24794.     IRpcStubBuffer *This,
  24795.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24796.     PRPC_MESSAGE _pRpcMessage,
  24797.     DWORD *_pdwStubPhase);
  24798.  
  24799.  
  24800. HRESULT STDMETHODCALLTYPE IDvdControl2_ActivateAtPosition_Proxy( 
  24801.     IDvdControl2 * This,
  24802.     /* [in] */ POINT point);
  24803.  
  24804.  
  24805. void __RPC_STUB IDvdControl2_ActivateAtPosition_Stub(
  24806.     IRpcStubBuffer *This,
  24807.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24808.     PRPC_MESSAGE _pRpcMessage,
  24809.     DWORD *_pdwStubPhase);
  24810.  
  24811.  
  24812. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAtPosition_Proxy( 
  24813.     IDvdControl2 * This,
  24814.     /* [in] */ POINT point);
  24815.  
  24816.  
  24817. void __RPC_STUB IDvdControl2_SelectAtPosition_Stub(
  24818.     IRpcStubBuffer *This,
  24819.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24820.     PRPC_MESSAGE _pRpcMessage,
  24821.     DWORD *_pdwStubPhase);
  24822.  
  24823.  
  24824. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayChaptersAutoStop_Proxy( 
  24825.     IDvdControl2 * This,
  24826.     /* [in] */ ULONG ulTitle,
  24827.     /* [in] */ ULONG ulChapter,
  24828.     /* [in] */ ULONG ulChaptersToPlay,
  24829.     /* [in] */ DWORD dwFlags,
  24830.     /* [out] */ IDvdCmd **ppCmd);
  24831.  
  24832.  
  24833. void __RPC_STUB IDvdControl2_PlayChaptersAutoStop_Stub(
  24834.     IRpcStubBuffer *This,
  24835.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24836.     PRPC_MESSAGE _pRpcMessage,
  24837.     DWORD *_pdwStubPhase);
  24838.  
  24839.  
  24840. HRESULT STDMETHODCALLTYPE IDvdControl2_AcceptParentalLevelChange_Proxy( 
  24841.     IDvdControl2 * This,
  24842.     /* [in] */ BOOL bAccept);
  24843.  
  24844.  
  24845. void __RPC_STUB IDvdControl2_AcceptParentalLevelChange_Stub(
  24846.     IRpcStubBuffer *This,
  24847.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24848.     PRPC_MESSAGE _pRpcMessage,
  24849.     DWORD *_pdwStubPhase);
  24850.  
  24851.  
  24852. HRESULT STDMETHODCALLTYPE IDvdControl2_SetOption_Proxy( 
  24853.     IDvdControl2 * This,
  24854.     /* [in] */ DVD_OPTION_FLAG flag,
  24855.     /* [in] */ BOOL fState);
  24856.  
  24857.  
  24858. void __RPC_STUB IDvdControl2_SetOption_Stub(
  24859.     IRpcStubBuffer *This,
  24860.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24861.     PRPC_MESSAGE _pRpcMessage,
  24862.     DWORD *_pdwStubPhase);
  24863.  
  24864.  
  24865. HRESULT STDMETHODCALLTYPE IDvdControl2_SetState_Proxy( 
  24866.     IDvdControl2 * This,
  24867.     /* [in] */ IDvdState *pState,
  24868.     /* [in] */ DWORD dwFlags,
  24869.     /* [out] */ IDvdCmd **ppCmd);
  24870.  
  24871.  
  24872. void __RPC_STUB IDvdControl2_SetState_Stub(
  24873.     IRpcStubBuffer *This,
  24874.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24875.     PRPC_MESSAGE _pRpcMessage,
  24876.     DWORD *_pdwStubPhase);
  24877.  
  24878.  
  24879. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayPeriodInTitleAutoStop_Proxy( 
  24880.     IDvdControl2 * This,
  24881.     /* [in] */ ULONG ulTitle,
  24882.     /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  24883.     /* [in] */ DVD_HMSF_TIMECODE *pEndTime,
  24884.     /* [in] */ DWORD dwFlags,
  24885.     /* [out] */ IDvdCmd **ppCmd);
  24886.  
  24887.  
  24888. void __RPC_STUB IDvdControl2_PlayPeriodInTitleAutoStop_Stub(
  24889.     IRpcStubBuffer *This,
  24890.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24891.     PRPC_MESSAGE _pRpcMessage,
  24892.     DWORD *_pdwStubPhase);
  24893.  
  24894.  
  24895. HRESULT STDMETHODCALLTYPE IDvdControl2_SetGPRM_Proxy( 
  24896.     IDvdControl2 * This,
  24897.     /* [in] */ ULONG ulIndex,
  24898.     /* [in] */ WORD wValue,
  24899.     /* [in] */ DWORD dwFlags,
  24900.     /* [out] */ IDvdCmd **ppCmd);
  24901.  
  24902.  
  24903. void __RPC_STUB IDvdControl2_SetGPRM_Stub(
  24904.     IRpcStubBuffer *This,
  24905.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24906.     PRPC_MESSAGE _pRpcMessage,
  24907.     DWORD *_pdwStubPhase);
  24908.  
  24909.  
  24910. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectDefaultMenuLanguage_Proxy( 
  24911.     IDvdControl2 * This,
  24912.     /* [in] */ LCID Language);
  24913.  
  24914.  
  24915. void __RPC_STUB IDvdControl2_SelectDefaultMenuLanguage_Stub(
  24916.     IRpcStubBuffer *This,
  24917.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24918.     PRPC_MESSAGE _pRpcMessage,
  24919.     DWORD *_pdwStubPhase);
  24920.  
  24921.  
  24922. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectDefaultAudioLanguage_Proxy( 
  24923.     IDvdControl2 * This,
  24924.     /* [in] */ LCID Language,
  24925.     /* [in] */ DVD_AUDIO_LANG_EXT audioExtension);
  24926.  
  24927.  
  24928. void __RPC_STUB IDvdControl2_SelectDefaultAudioLanguage_Stub(
  24929.     IRpcStubBuffer *This,
  24930.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24931.     PRPC_MESSAGE _pRpcMessage,
  24932.     DWORD *_pdwStubPhase);
  24933.  
  24934.  
  24935. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectDefaultSubpictureLanguage_Proxy( 
  24936.     IDvdControl2 * This,
  24937.     /* [in] */ LCID Language,
  24938.     /* [in] */ DVD_SUBPICTURE_LANG_EXT subpictureExtension);
  24939.  
  24940.  
  24941. void __RPC_STUB IDvdControl2_SelectDefaultSubpictureLanguage_Stub(
  24942.     IRpcStubBuffer *This,
  24943.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24944.     PRPC_MESSAGE _pRpcMessage,
  24945.     DWORD *_pdwStubPhase);
  24946.  
  24947.  
  24948.  
  24949. #endif     /* __IDvdControl2_INTERFACE_DEFINED__ */
  24950.  
  24951.  
  24952. /* interface __MIDL_itf_strmif_0380 */
  24953. /* [local] */ 
  24954.  
  24955.  
  24956. enum DVD_TextStringType
  24957.     {    DVD_Struct_Volume    = 0x1,
  24958.     DVD_Struct_Title    = 0x2,
  24959.     DVD_Struct_ParentalID    = 0x3,
  24960.     DVD_Struct_PartOfTitle    = 0x4,
  24961.     DVD_Struct_Cell    = 0x5,
  24962.     DVD_Stream_Audio    = 0x10,
  24963.     DVD_Stream_Subpicture    = 0x11,
  24964.     DVD_Stream_Angle    = 0x12,
  24965.     DVD_Channel_Audio    = 0x20,
  24966.     DVD_General_Name    = 0x30,
  24967.     DVD_General_Comments    = 0x31,
  24968.     DVD_Title_Series    = 0x38,
  24969.     DVD_Title_Movie    = 0x39,
  24970.     DVD_Title_Video    = 0x3a,
  24971.     DVD_Title_Album    = 0x3b,
  24972.     DVD_Title_Song    = 0x3c,
  24973.     DVD_Title_Other    = 0x3f,
  24974.     DVD_Title_Sub_Series    = 0x40,
  24975.     DVD_Title_Sub_Movie    = 0x41,
  24976.     DVD_Title_Sub_Video    = 0x42,
  24977.     DVD_Title_Sub_Album    = 0x43,
  24978.     DVD_Title_Sub_Song    = 0x44,
  24979.     DVD_Title_Sub_Other    = 0x47,
  24980.     DVD_Title_Orig_Series    = 0x48,
  24981.     DVD_Title_Orig_Movie    = 0x49,
  24982.     DVD_Title_Orig_Video    = 0x4a,
  24983.     DVD_Title_Orig_Album    = 0x4b,
  24984.     DVD_Title_Orig_Song    = 0x4c,
  24985.     DVD_Title_Orig_Other    = 0x4f,
  24986.     DVD_Other_Scene    = 0x50,
  24987.     DVD_Other_Cut    = 0x51,
  24988.     DVD_Other_Take    = 0x52
  24989.     } ;
  24990.  
  24991. enum DVD_TextCharSet
  24992.     {    DVD_CharSet_Unicode    = 0,
  24993.     DVD_CharSet_ISO646    = 1,
  24994.     DVD_CharSet_JIS_Roman_Kanji    = 2,
  24995.     DVD_CharSet_ISO8859_1    = 3,
  24996.     DVD_CharSet_ShiftJIS_Kanji_Roman_Katakana    = 4
  24997.     } ;
  24998. #define DVD_TITLE_MENU                0x000
  24999. #define DVD_STREAM_DATA_CURRENT     0x800
  25000. #define DVD_STREAM_DATA_VMGM        0x400
  25001. #define DVD_STREAM_DATA_VTSM        0x401
  25002. #define DVD_DEFAULT_AUDIO_STREAM    0x0f
  25003. typedef struct tagDVD_DECODER_CAPS
  25004.     {
  25005.     DWORD dwSize;
  25006.     DWORD dwAudioCaps;
  25007.     double dFwdMaxRateVideo;
  25008.     double dFwdMaxRateAudio;
  25009.     double dFwdMaxRateSP;
  25010.     double dBwdMaxRateVideo;
  25011.     double dBwdMaxRateAudio;
  25012.     double dBwdMaxRateSP;
  25013.     DWORD dwRes1;
  25014.     DWORD dwRes2;
  25015.     DWORD dwRes3;
  25016.     DWORD dwRes4;
  25017.     }     DVD_DECODER_CAPS;
  25018.  
  25019. #define DVD_AUDIO_CAPS_AC3        0x00000001
  25020. #define DVD_AUDIO_CAPS_MPEG2    0x00000002
  25021. #define DVD_AUDIO_CAPS_LPCM        0x00000004
  25022. #define DVD_AUDIO_CAPS_DTS        0x00000008
  25023. #define DVD_AUDIO_CAPS_SDDS        0x00000010
  25024.  
  25025.  
  25026. extern RPC_IF_HANDLE __MIDL_itf_strmif_0380_v0_0_c_ifspec;
  25027. extern RPC_IF_HANDLE __MIDL_itf_strmif_0380_v0_0_s_ifspec;
  25028.  
  25029. #ifndef __IDvdInfo2_INTERFACE_DEFINED__
  25030. #define __IDvdInfo2_INTERFACE_DEFINED__
  25031.  
  25032. /* interface IDvdInfo2 */
  25033. /* [unique][uuid][object] */ 
  25034.  
  25035.  
  25036. EXTERN_C const IID IID_IDvdInfo2;
  25037.  
  25038. #if defined(__cplusplus) && !defined(CINTERFACE)
  25039.     
  25040.     MIDL_INTERFACE("34151510-EEC0-11D2-8201-00A0C9D74842")
  25041.     IDvdInfo2 : public IUnknown
  25042.     {
  25043.     public:
  25044.         virtual HRESULT STDMETHODCALLTYPE GetCurrentDomain( 
  25045.             /* [out] */ DVD_DOMAIN *pDomain) = 0;
  25046.         
  25047.         virtual HRESULT STDMETHODCALLTYPE GetCurrentLocation( 
  25048.             /* [out] */ DVD_PLAYBACK_LOCATION2 *pLocation) = 0;
  25049.         
  25050.         virtual HRESULT STDMETHODCALLTYPE GetTotalTitleTime( 
  25051.             /* [out] */ DVD_HMSF_TIMECODE *pTotalTime,
  25052.             /* [out] */ ULONG *ulTimeCodeFlags) = 0;
  25053.         
  25054.         virtual HRESULT STDMETHODCALLTYPE GetCurrentButton( 
  25055.             /* [out] */ ULONG *pulButtonsAvailable,
  25056.             /* [out] */ ULONG *pulCurrentButton) = 0;
  25057.         
  25058.         virtual HRESULT STDMETHODCALLTYPE GetCurrentAngle( 
  25059.             /* [out] */ ULONG *pulAnglesAvailable,
  25060.             /* [out] */ ULONG *pulCurrentAngle) = 0;
  25061.         
  25062.         virtual HRESULT STDMETHODCALLTYPE GetCurrentAudio( 
  25063.             /* [out] */ ULONG *pulStreamsAvailable,
  25064.             /* [out] */ ULONG *pulCurrentStream) = 0;
  25065.         
  25066.         virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpicture( 
  25067.             /* [out] */ ULONG *pulStreamsAvailable,
  25068.             /* [out] */ ULONG *pulCurrentStream,
  25069.             /* [out] */ BOOL *pbIsDisabled) = 0;
  25070.         
  25071.         virtual HRESULT STDMETHODCALLTYPE GetCurrentUOPS( 
  25072.             /* [out] */ ULONG *pulUOPs) = 0;
  25073.         
  25074.         virtual HRESULT STDMETHODCALLTYPE GetAllSPRMs( 
  25075.             /* [out] */ SPRMARRAY *pRegisterArray) = 0;
  25076.         
  25077.         virtual HRESULT STDMETHODCALLTYPE GetAllGPRMs( 
  25078.             /* [out] */ GPRMARRAY *pRegisterArray) = 0;
  25079.         
  25080.         virtual HRESULT STDMETHODCALLTYPE GetAudioLanguage( 
  25081.             /* [in] */ ULONG ulStream,
  25082.             /* [out] */ LCID *pLanguage) = 0;
  25083.         
  25084.         virtual HRESULT STDMETHODCALLTYPE GetSubpictureLanguage( 
  25085.             /* [in] */ ULONG ulStream,
  25086.             /* [out] */ LCID *pLanguage) = 0;
  25087.         
  25088.         virtual HRESULT STDMETHODCALLTYPE GetTitleAttributes( 
  25089.             /* [in] */ ULONG ulTitle,
  25090.             /* [out] */ DVD_MenuAttributes *pMenu,
  25091.             /* [out] */ DVD_TitleAttributes *pTitle) = 0;
  25092.         
  25093.         virtual HRESULT STDMETHODCALLTYPE GetVMGAttributes( 
  25094.             /* [out] */ DVD_MenuAttributes *pATR) = 0;
  25095.         
  25096.         virtual HRESULT STDMETHODCALLTYPE GetCurrentVideoAttributes( 
  25097.             /* [out] */ DVD_VideoAttributes *pATR) = 0;
  25098.         
  25099.         virtual HRESULT STDMETHODCALLTYPE GetAudioAttributes( 
  25100.             /* [in] */ ULONG ulStream,
  25101.             /* [out] */ DVD_AudioAttributes *pATR) = 0;
  25102.         
  25103.         virtual HRESULT STDMETHODCALLTYPE GetKaraokeAttributes( 
  25104.             /* [in] */ ULONG ulStream,
  25105.             /* [out] */ DVD_KaraokeAttributes *pAttributes) = 0;
  25106.         
  25107.         virtual HRESULT STDMETHODCALLTYPE GetSubpictureAttributes( 
  25108.             /* [in] */ ULONG ulStream,
  25109.             /* [out] */ DVD_SubpictureAttributes *pATR) = 0;
  25110.         
  25111.         virtual HRESULT STDMETHODCALLTYPE GetDVDVolumeInfo( 
  25112.             /* [out] */ ULONG *pulNumOfVolumes,
  25113.             /* [out] */ ULONG *pulVolume,
  25114.             /* [out] */ DVD_DISC_SIDE *pSide,
  25115.             /* [out] */ ULONG *pulNumOfTitles) = 0;
  25116.         
  25117.         virtual HRESULT STDMETHODCALLTYPE GetDVDTextNumberOfLanguages( 
  25118.             /* [out] */ ULONG *pulNumOfLangs) = 0;
  25119.         
  25120.         virtual HRESULT STDMETHODCALLTYPE GetDVDTextLanguageInfo( 
  25121.             /* [in] */ ULONG ulLangIndex,
  25122.             /* [out] */ ULONG *pulNumOfStrings,
  25123.             /* [out] */ LCID *pLangCode,
  25124.             /* [out] */ enum DVD_TextCharSet *pbCharacterSet) = 0;
  25125.         
  25126.         virtual HRESULT STDMETHODCALLTYPE GetDVDTextStringAsNative( 
  25127.             /* [in] */ ULONG ulLangIndex,
  25128.             /* [in] */ ULONG ulStringIndex,
  25129.             /* [out] */ BYTE *pbBuffer,
  25130.             /* [in] */ ULONG ulMaxBufferSize,
  25131.             /* [out] */ ULONG *pulActualSize,
  25132.             /* [out] */ enum DVD_TextStringType *pType) = 0;
  25133.         
  25134.         virtual HRESULT STDMETHODCALLTYPE GetDVDTextStringAsUnicode( 
  25135.             /* [in] */ ULONG ulLangIndex,
  25136.             /* [in] */ ULONG ulStringIndex,
  25137.             /* [out] */ WCHAR *pchwBuffer,
  25138.             /* [in] */ ULONG ulMaxBufferSize,
  25139.             /* [out] */ ULONG *pulActualSize,
  25140.             /* [out] */ enum DVD_TextStringType *pType) = 0;
  25141.         
  25142.         virtual HRESULT STDMETHODCALLTYPE GetPlayerParentalLevel( 
  25143.             /* [out] */ ULONG *pulParentalLevel,
  25144.             /* [out] */ BYTE pbCountryCode[ 2 ]) = 0;
  25145.         
  25146.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfChapters( 
  25147.             /* [in] */ ULONG ulTitle,
  25148.             /* [out] */ ULONG *pulNumOfChapters) = 0;
  25149.         
  25150.         virtual HRESULT STDMETHODCALLTYPE GetTitleParentalLevels( 
  25151.             /* [in] */ ULONG ulTitle,
  25152.             /* [out] */ ULONG *pulParentalLevels) = 0;
  25153.         
  25154.         virtual HRESULT STDMETHODCALLTYPE GetDVDDirectory( 
  25155.             /* [size_is][out] */ LPWSTR pszwPath,
  25156.             /* [in] */ ULONG ulMaxSize,
  25157.             /* [out] */ ULONG *pulActualSize) = 0;
  25158.         
  25159.         virtual HRESULT STDMETHODCALLTYPE IsAudioStreamEnabled( 
  25160.             /* [in] */ ULONG ulStreamNum,
  25161.             /* [out] */ BOOL *pbEnabled) = 0;
  25162.         
  25163.         virtual HRESULT STDMETHODCALLTYPE GetDiscID( 
  25164.             /* [in] */ LPCWSTR pszwPath,
  25165.             /* [out] */ ULONGLONG *pullDiscID) = 0;
  25166.         
  25167.         virtual HRESULT STDMETHODCALLTYPE GetState( 
  25168.             /* [out] */ IDvdState **pStateData) = 0;
  25169.         
  25170.         virtual HRESULT STDMETHODCALLTYPE GetMenuLanguages( 
  25171.             /* [out] */ LCID *pLanguages,
  25172.             /* [in] */ ULONG ulMaxLanguages,
  25173.             /* [out] */ ULONG *pulActualLanguages) = 0;
  25174.         
  25175.         virtual HRESULT STDMETHODCALLTYPE GetButtonAtPosition( 
  25176.             /* [in] */ POINT point,
  25177.             /* [out] */ ULONG *pulButtonIndex) = 0;
  25178.         
  25179.         virtual HRESULT STDMETHODCALLTYPE GetCmdFromEvent( 
  25180.             /* [in] */ LONG_PTR lParam1,
  25181.             /* [out] */ IDvdCmd **pCmdObj) = 0;
  25182.         
  25183.         virtual HRESULT STDMETHODCALLTYPE GetDefaultMenuLanguage( 
  25184.             /* [out] */ LCID *pLanguage) = 0;
  25185.         
  25186.         virtual HRESULT STDMETHODCALLTYPE GetDefaultAudioLanguage( 
  25187.             /* [out] */ LCID *pLanguage,
  25188.             /* [out] */ DVD_AUDIO_LANG_EXT *pAudioExtension) = 0;
  25189.         
  25190.         virtual HRESULT STDMETHODCALLTYPE GetDefaultSubpictureLanguage( 
  25191.             /* [out] */ LCID *pLanguage,
  25192.             /* [out] */ DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension) = 0;
  25193.         
  25194.         virtual HRESULT STDMETHODCALLTYPE GetDecoderCaps( 
  25195.             /* [out] */ DVD_DECODER_CAPS *pCaps) = 0;
  25196.         
  25197.         virtual HRESULT STDMETHODCALLTYPE GetButtonRect( 
  25198.             /* [in] */ ULONG ulButton,
  25199.             /* [out] */ RECT *pRect) = 0;
  25200.         
  25201.         virtual HRESULT STDMETHODCALLTYPE IsSubpictureStreamEnabled( 
  25202.             /* [in] */ ULONG ulStreamNum,
  25203.             /* [out] */ BOOL *pbEnabled) = 0;
  25204.         
  25205.     };
  25206.     
  25207. #else     /* C style interface */
  25208.  
  25209.     typedef struct IDvdInfo2Vtbl
  25210.     {
  25211.         BEGIN_INTERFACE
  25212.         
  25213.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  25214.             IDvdInfo2 * This,
  25215.             /* [in] */ REFIID riid,
  25216.             /* [iid_is][out] */ void **ppvObject);
  25217.         
  25218.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  25219.             IDvdInfo2 * This);
  25220.         
  25221.         ULONG ( STDMETHODCALLTYPE *Release )( 
  25222.             IDvdInfo2 * This);
  25223.         
  25224.         HRESULT ( STDMETHODCALLTYPE *GetCurrentDomain )( 
  25225.             IDvdInfo2 * This,
  25226.             /* [out] */ DVD_DOMAIN *pDomain);
  25227.         
  25228.         HRESULT ( STDMETHODCALLTYPE *GetCurrentLocation )( 
  25229.             IDvdInfo2 * This,
  25230.             /* [out] */ DVD_PLAYBACK_LOCATION2 *pLocation);
  25231.         
  25232.         HRESULT ( STDMETHODCALLTYPE *GetTotalTitleTime )( 
  25233.             IDvdInfo2 * This,
  25234.             /* [out] */ DVD_HMSF_TIMECODE *pTotalTime,
  25235.             /* [out] */ ULONG *ulTimeCodeFlags);
  25236.         
  25237.         HRESULT ( STDMETHODCALLTYPE *GetCurrentButton )( 
  25238.             IDvdInfo2 * This,
  25239.             /* [out] */ ULONG *pulButtonsAvailable,
  25240.             /* [out] */ ULONG *pulCurrentButton);
  25241.         
  25242.         HRESULT ( STDMETHODCALLTYPE *GetCurrentAngle )( 
  25243.             IDvdInfo2 * This,
  25244.             /* [out] */ ULONG *pulAnglesAvailable,
  25245.             /* [out] */ ULONG *pulCurrentAngle);
  25246.         
  25247.         HRESULT ( STDMETHODCALLTYPE *GetCurrentAudio )( 
  25248.             IDvdInfo2 * This,
  25249.             /* [out] */ ULONG *pulStreamsAvailable,
  25250.             /* [out] */ ULONG *pulCurrentStream);
  25251.         
  25252.         HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpicture )( 
  25253.             IDvdInfo2 * This,
  25254.             /* [out] */ ULONG *pulStreamsAvailable,
  25255.             /* [out] */ ULONG *pulCurrentStream,
  25256.             /* [out] */ BOOL *pbIsDisabled);
  25257.         
  25258.         HRESULT ( STDMETHODCALLTYPE *GetCurrentUOPS )( 
  25259.             IDvdInfo2 * This,
  25260.             /* [out] */ ULONG *pulUOPs);
  25261.         
  25262.         HRESULT ( STDMETHODCALLTYPE *GetAllSPRMs )( 
  25263.             IDvdInfo2 * This,
  25264.             /* [out] */ SPRMARRAY *pRegisterArray);
  25265.         
  25266.         HRESULT ( STDMETHODCALLTYPE *GetAllGPRMs )( 
  25267.             IDvdInfo2 * This,
  25268.             /* [out] */ GPRMARRAY *pRegisterArray);
  25269.         
  25270.         HRESULT ( STDMETHODCALLTYPE *GetAudioLanguage )( 
  25271.             IDvdInfo2 * This,
  25272.             /* [in] */ ULONG ulStream,
  25273.             /* [out] */ LCID *pLanguage);
  25274.         
  25275.         HRESULT ( STDMETHODCALLTYPE *GetSubpictureLanguage )( 
  25276.             IDvdInfo2 * This,
  25277.             /* [in] */ ULONG ulStream,
  25278.             /* [out] */ LCID *pLanguage);
  25279.         
  25280.         HRESULT ( STDMETHODCALLTYPE *GetTitleAttributes )( 
  25281.             IDvdInfo2 * This,
  25282.             /* [in] */ ULONG ulTitle,
  25283.             /* [out] */ DVD_MenuAttributes *pMenu,
  25284.             /* [out] */ DVD_TitleAttributes *pTitle);
  25285.         
  25286.         HRESULT ( STDMETHODCALLTYPE *GetVMGAttributes )( 
  25287.             IDvdInfo2 * This,
  25288.             /* [out] */ DVD_MenuAttributes *pATR);
  25289.         
  25290.         HRESULT ( STDMETHODCALLTYPE *GetCurrentVideoAttributes )( 
  25291.             IDvdInfo2 * This,
  25292.             /* [out] */ DVD_VideoAttributes *pATR);
  25293.         
  25294.         HRESULT ( STDMETHODCALLTYPE *GetAudioAttributes )( 
  25295.             IDvdInfo2 * This,
  25296.             /* [in] */ ULONG ulStream,
  25297.             /* [out] */ DVD_AudioAttributes *pATR);
  25298.         
  25299.         HRESULT ( STDMETHODCALLTYPE *GetKaraokeAttributes )( 
  25300.             IDvdInfo2 * This,
  25301.             /* [in] */ ULONG ulStream,
  25302.             /* [out] */ DVD_KaraokeAttributes *pAttributes);
  25303.         
  25304.         HRESULT ( STDMETHODCALLTYPE *GetSubpictureAttributes )( 
  25305.             IDvdInfo2 * This,
  25306.             /* [in] */ ULONG ulStream,
  25307.             /* [out] */ DVD_SubpictureAttributes *pATR);
  25308.         
  25309.         HRESULT ( STDMETHODCALLTYPE *GetDVDVolumeInfo )( 
  25310.             IDvdInfo2 * This,
  25311.             /* [out] */ ULONG *pulNumOfVolumes,
  25312.             /* [out] */ ULONG *pulVolume,
  25313.             /* [out] */ DVD_DISC_SIDE *pSide,
  25314.             /* [out] */ ULONG *pulNumOfTitles);
  25315.         
  25316.         HRESULT ( STDMETHODCALLTYPE *GetDVDTextNumberOfLanguages )( 
  25317.             IDvdInfo2 * This,
  25318.             /* [out] */ ULONG *pulNumOfLangs);
  25319.         
  25320.         HRESULT ( STDMETHODCALLTYPE *GetDVDTextLanguageInfo )( 
  25321.             IDvdInfo2 * This,
  25322.             /* [in] */ ULONG ulLangIndex,
  25323.             /* [out] */ ULONG *pulNumOfStrings,
  25324.             /* [out] */ LCID *pLangCode,
  25325.             /* [out] */ enum DVD_TextCharSet *pbCharacterSet);
  25326.         
  25327.         HRESULT ( STDMETHODCALLTYPE *GetDVDTextStringAsNative )( 
  25328.             IDvdInfo2 * This,
  25329.             /* [in] */ ULONG ulLangIndex,
  25330.             /* [in] */ ULONG ulStringIndex,
  25331.             /* [out] */ BYTE *pbBuffer,
  25332.             /* [in] */ ULONG ulMaxBufferSize,
  25333.             /* [out] */ ULONG *pulActualSize,
  25334.             /* [out] */ enum DVD_TextStringType *pType);
  25335.         
  25336.         HRESULT ( STDMETHODCALLTYPE *GetDVDTextStringAsUnicode )( 
  25337.             IDvdInfo2 * This,
  25338.             /* [in] */ ULONG ulLangIndex,
  25339.             /* [in] */ ULONG ulStringIndex,
  25340.             /* [out] */ WCHAR *pchwBuffer,
  25341.             /* [in] */ ULONG ulMaxBufferSize,
  25342.             /* [out] */ ULONG *pulActualSize,
  25343.             /* [out] */ enum DVD_TextStringType *pType);
  25344.         
  25345.         HRESULT ( STDMETHODCALLTYPE *GetPlayerParentalLevel )( 
  25346.             IDvdInfo2 * This,
  25347.             /* [out] */ ULONG *pulParentalLevel,
  25348.             /* [out] */ BYTE pbCountryCode[ 2 ]);
  25349.         
  25350.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfChapters )( 
  25351.             IDvdInfo2 * This,
  25352.             /* [in] */ ULONG ulTitle,
  25353.             /* [out] */ ULONG *pulNumOfChapters);
  25354.         
  25355.         HRESULT ( STDMETHODCALLTYPE *GetTitleParentalLevels )( 
  25356.             IDvdInfo2 * This,
  25357.             /* [in] */ ULONG ulTitle,
  25358.             /* [out] */ ULONG *pulParentalLevels);
  25359.         
  25360.         HRESULT ( STDMETHODCALLTYPE *GetDVDDirectory )( 
  25361.             IDvdInfo2 * This,
  25362.             /* [size_is][out] */ LPWSTR pszwPath,
  25363.             /* [in] */ ULONG ulMaxSize,
  25364.             /* [out] */ ULONG *pulActualSize);
  25365.         
  25366.         HRESULT ( STDMETHODCALLTYPE *IsAudioStreamEnabled )( 
  25367.             IDvdInfo2 * This,
  25368.             /* [in] */ ULONG ulStreamNum,
  25369.             /* [out] */ BOOL *pbEnabled);
  25370.         
  25371.         HRESULT ( STDMETHODCALLTYPE *GetDiscID )( 
  25372.             IDvdInfo2 * This,
  25373.             /* [in] */ LPCWSTR pszwPath,
  25374.             /* [out] */ ULONGLONG *pullDiscID);
  25375.         
  25376.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  25377.             IDvdInfo2 * This,
  25378.             /* [out] */ IDvdState **pStateData);
  25379.         
  25380.         HRESULT ( STDMETHODCALLTYPE *GetMenuLanguages )( 
  25381.             IDvdInfo2 * This,
  25382.             /* [out] */ LCID *pLanguages,
  25383.             /* [in] */ ULONG ulMaxLanguages,
  25384.             /* [out] */ ULONG *pulActualLanguages);
  25385.         
  25386.         HRESULT ( STDMETHODCALLTYPE *GetButtonAtPosition )( 
  25387.             IDvdInfo2 * This,
  25388.             /* [in] */ POINT point,
  25389.             /* [out] */ ULONG *pulButtonIndex);
  25390.         
  25391.         HRESULT ( STDMETHODCALLTYPE *GetCmdFromEvent )( 
  25392.             IDvdInfo2 * This,
  25393.             /* [in] */ LONG_PTR lParam1,
  25394.             /* [out] */ IDvdCmd **pCmdObj);
  25395.         
  25396.         HRESULT ( STDMETHODCALLTYPE *GetDefaultMenuLanguage )( 
  25397.             IDvdInfo2 * This,
  25398.             /* [out] */ LCID *pLanguage);
  25399.         
  25400.         HRESULT ( STDMETHODCALLTYPE *GetDefaultAudioLanguage )( 
  25401.             IDvdInfo2 * This,
  25402.             /* [out] */ LCID *pLanguage,
  25403.             /* [out] */ DVD_AUDIO_LANG_EXT *pAudioExtension);
  25404.         
  25405.         HRESULT ( STDMETHODCALLTYPE *GetDefaultSubpictureLanguage )( 
  25406.             IDvdInfo2 * This,
  25407.             /* [out] */ LCID *pLanguage,
  25408.             /* [out] */ DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
  25409.         
  25410.         HRESULT ( STDMETHODCALLTYPE *GetDecoderCaps )( 
  25411.             IDvdInfo2 * This,
  25412.             /* [out] */ DVD_DECODER_CAPS *pCaps);
  25413.         
  25414.         HRESULT ( STDMETHODCALLTYPE *GetButtonRect )( 
  25415.             IDvdInfo2 * This,
  25416.             /* [in] */ ULONG ulButton,
  25417.             /* [out] */ RECT *pRect);
  25418.         
  25419.         HRESULT ( STDMETHODCALLTYPE *IsSubpictureStreamEnabled )( 
  25420.             IDvdInfo2 * This,
  25421.             /* [in] */ ULONG ulStreamNum,
  25422.             /* [out] */ BOOL *pbEnabled);
  25423.         
  25424.         END_INTERFACE
  25425.     } IDvdInfo2Vtbl;
  25426.  
  25427.     interface IDvdInfo2
  25428.     {
  25429.         CONST_VTBL struct IDvdInfo2Vtbl *lpVtbl;
  25430.     };
  25431.  
  25432.     
  25433.  
  25434. #ifdef COBJMACROS
  25435.  
  25436.  
  25437. #define IDvdInfo2_QueryInterface(This,riid,ppvObject)    \
  25438.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  25439.  
  25440. #define IDvdInfo2_AddRef(This)    \
  25441.     (This)->lpVtbl -> AddRef(This)
  25442.  
  25443. #define IDvdInfo2_Release(This)    \
  25444.     (This)->lpVtbl -> Release(This)
  25445.  
  25446.  
  25447. #define IDvdInfo2_GetCurrentDomain(This,pDomain)    \
  25448.     (This)->lpVtbl -> GetCurrentDomain(This,pDomain)
  25449.  
  25450. #define IDvdInfo2_GetCurrentLocation(This,pLocation)    \
  25451.     (This)->lpVtbl -> GetCurrentLocation(This,pLocation)
  25452.  
  25453. #define IDvdInfo2_GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags)    \
  25454.     (This)->lpVtbl -> GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags)
  25455.  
  25456. #define IDvdInfo2_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)    \
  25457.     (This)->lpVtbl -> GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)
  25458.  
  25459. #define IDvdInfo2_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)    \
  25460.     (This)->lpVtbl -> GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)
  25461.  
  25462. #define IDvdInfo2_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)    \
  25463.     (This)->lpVtbl -> GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)
  25464.  
  25465. #define IDvdInfo2_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled)    \
  25466.     (This)->lpVtbl -> GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled)
  25467.  
  25468. #define IDvdInfo2_GetCurrentUOPS(This,pulUOPs)    \
  25469.     (This)->lpVtbl -> GetCurrentUOPS(This,pulUOPs)
  25470.  
  25471. #define IDvdInfo2_GetAllSPRMs(This,pRegisterArray)    \
  25472.     (This)->lpVtbl -> GetAllSPRMs(This,pRegisterArray)
  25473.  
  25474. #define IDvdInfo2_GetAllGPRMs(This,pRegisterArray)    \
  25475.     (This)->lpVtbl -> GetAllGPRMs(This,pRegisterArray)
  25476.  
  25477. #define IDvdInfo2_GetAudioLanguage(This,ulStream,pLanguage)    \
  25478.     (This)->lpVtbl -> GetAudioLanguage(This,ulStream,pLanguage)
  25479.  
  25480. #define IDvdInfo2_GetSubpictureLanguage(This,ulStream,pLanguage)    \
  25481.     (This)->lpVtbl -> GetSubpictureLanguage(This,ulStream,pLanguage)
  25482.  
  25483. #define IDvdInfo2_GetTitleAttributes(This,ulTitle,pMenu,pTitle)    \
  25484.     (This)->lpVtbl -> GetTitleAttributes(This,ulTitle,pMenu,pTitle)
  25485.  
  25486. #define IDvdInfo2_GetVMGAttributes(This,pATR)    \
  25487.     (This)->lpVtbl -> GetVMGAttributes(This,pATR)
  25488.  
  25489. #define IDvdInfo2_GetCurrentVideoAttributes(This,pATR)    \
  25490.     (This)->lpVtbl -> GetCurrentVideoAttributes(This,pATR)
  25491.  
  25492. #define IDvdInfo2_GetAudioAttributes(This,ulStream,pATR)    \
  25493.     (This)->lpVtbl -> GetAudioAttributes(This,ulStream,pATR)
  25494.  
  25495. #define IDvdInfo2_GetKaraokeAttributes(This,ulStream,pAttributes)    \
  25496.     (This)->lpVtbl -> GetKaraokeAttributes(This,ulStream,pAttributes)
  25497.  
  25498. #define IDvdInfo2_GetSubpictureAttributes(This,ulStream,pATR)    \
  25499.     (This)->lpVtbl -> GetSubpictureAttributes(This,ulStream,pATR)
  25500.  
  25501. #define IDvdInfo2_GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles)    \
  25502.     (This)->lpVtbl -> GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles)
  25503.  
  25504. #define IDvdInfo2_GetDVDTextNumberOfLanguages(This,pulNumOfLangs)    \
  25505.     (This)->lpVtbl -> GetDVDTextNumberOfLanguages(This,pulNumOfLangs)
  25506.  
  25507. #define IDvdInfo2_GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet)    \
  25508.     (This)->lpVtbl -> GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet)
  25509.  
  25510. #define IDvdInfo2_GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType)    \
  25511.     (This)->lpVtbl -> GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType)
  25512.  
  25513. #define IDvdInfo2_GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType)    \
  25514.     (This)->lpVtbl -> GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType)
  25515.  
  25516. #define IDvdInfo2_GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode)    \
  25517.     (This)->lpVtbl -> GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode)
  25518.  
  25519. #define IDvdInfo2_GetNumberOfChapters(This,ulTitle,pulNumOfChapters)    \
  25520.     (This)->lpVtbl -> GetNumberOfChapters(This,ulTitle,pulNumOfChapters)
  25521.  
  25522. #define IDvdInfo2_GetTitleParentalLevels(This,ulTitle,pulParentalLevels)    \
  25523.     (This)->lpVtbl -> GetTitleParentalLevels(This,ulTitle,pulParentalLevels)
  25524.  
  25525. #define IDvdInfo2_GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize)    \
  25526.     (This)->lpVtbl -> GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize)
  25527.  
  25528. #define IDvdInfo2_IsAudioStreamEnabled(This,ulStreamNum,pbEnabled)    \
  25529.     (This)->lpVtbl -> IsAudioStreamEnabled(This,ulStreamNum,pbEnabled)
  25530.  
  25531. #define IDvdInfo2_GetDiscID(This,pszwPath,pullDiscID)    \
  25532.     (This)->lpVtbl -> GetDiscID(This,pszwPath,pullDiscID)
  25533.  
  25534. #define IDvdInfo2_GetState(This,pStateData)    \
  25535.     (This)->lpVtbl -> GetState(This,pStateData)
  25536.  
  25537. #define IDvdInfo2_GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages)    \
  25538.     (This)->lpVtbl -> GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages)
  25539.  
  25540. #define IDvdInfo2_GetButtonAtPosition(This,point,pulButtonIndex)    \
  25541.     (This)->lpVtbl -> GetButtonAtPosition(This,point,pulButtonIndex)
  25542.  
  25543. #define IDvdInfo2_GetCmdFromEvent(This,lParam1,pCmdObj)    \
  25544.     (This)->lpVtbl -> GetCmdFromEvent(This,lParam1,pCmdObj)
  25545.  
  25546. #define IDvdInfo2_GetDefaultMenuLanguage(This,pLanguage)    \
  25547.     (This)->lpVtbl -> GetDefaultMenuLanguage(This,pLanguage)
  25548.  
  25549. #define IDvdInfo2_GetDefaultAudioLanguage(This,pLanguage,pAudioExtension)    \
  25550.     (This)->lpVtbl -> GetDefaultAudioLanguage(This,pLanguage,pAudioExtension)
  25551.  
  25552. #define IDvdInfo2_GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension)    \
  25553.     (This)->lpVtbl -> GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension)
  25554.  
  25555. #define IDvdInfo2_GetDecoderCaps(This,pCaps)    \
  25556.     (This)->lpVtbl -> GetDecoderCaps(This,pCaps)
  25557.  
  25558. #define IDvdInfo2_GetButtonRect(This,ulButton,pRect)    \
  25559.     (This)->lpVtbl -> GetButtonRect(This,ulButton,pRect)
  25560.  
  25561. #define IDvdInfo2_IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled)    \
  25562.     (This)->lpVtbl -> IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled)
  25563.  
  25564. #endif /* COBJMACROS */
  25565.  
  25566.  
  25567. #endif     /* C style interface */
  25568.  
  25569.  
  25570.  
  25571. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentDomain_Proxy( 
  25572.     IDvdInfo2 * This,
  25573.     /* [out] */ DVD_DOMAIN *pDomain);
  25574.  
  25575.  
  25576. void __RPC_STUB IDvdInfo2_GetCurrentDomain_Stub(
  25577.     IRpcStubBuffer *This,
  25578.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25579.     PRPC_MESSAGE _pRpcMessage,
  25580.     DWORD *_pdwStubPhase);
  25581.  
  25582.  
  25583. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentLocation_Proxy( 
  25584.     IDvdInfo2 * This,
  25585.     /* [out] */ DVD_PLAYBACK_LOCATION2 *pLocation);
  25586.  
  25587.  
  25588. void __RPC_STUB IDvdInfo2_GetCurrentLocation_Stub(
  25589.     IRpcStubBuffer *This,
  25590.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25591.     PRPC_MESSAGE _pRpcMessage,
  25592.     DWORD *_pdwStubPhase);
  25593.  
  25594.  
  25595. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetTotalTitleTime_Proxy( 
  25596.     IDvdInfo2 * This,
  25597.     /* [out] */ DVD_HMSF_TIMECODE *pTotalTime,
  25598.     /* [out] */ ULONG *ulTimeCodeFlags);
  25599.  
  25600.  
  25601. void __RPC_STUB IDvdInfo2_GetTotalTitleTime_Stub(
  25602.     IRpcStubBuffer *This,
  25603.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25604.     PRPC_MESSAGE _pRpcMessage,
  25605.     DWORD *_pdwStubPhase);
  25606.  
  25607.  
  25608. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentButton_Proxy( 
  25609.     IDvdInfo2 * This,
  25610.     /* [out] */ ULONG *pulButtonsAvailable,
  25611.     /* [out] */ ULONG *pulCurrentButton);
  25612.  
  25613.  
  25614. void __RPC_STUB IDvdInfo2_GetCurrentButton_Stub(
  25615.     IRpcStubBuffer *This,
  25616.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25617.     PRPC_MESSAGE _pRpcMessage,
  25618.     DWORD *_pdwStubPhase);
  25619.  
  25620.  
  25621. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentAngle_Proxy( 
  25622.     IDvdInfo2 * This,
  25623.     /* [out] */ ULONG *pulAnglesAvailable,
  25624.     /* [out] */ ULONG *pulCurrentAngle);
  25625.  
  25626.  
  25627. void __RPC_STUB IDvdInfo2_GetCurrentAngle_Stub(
  25628.     IRpcStubBuffer *This,
  25629.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25630.     PRPC_MESSAGE _pRpcMessage,
  25631.     DWORD *_pdwStubPhase);
  25632.  
  25633.  
  25634. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentAudio_Proxy( 
  25635.     IDvdInfo2 * This,
  25636.     /* [out] */ ULONG *pulStreamsAvailable,
  25637.     /* [out] */ ULONG *pulCurrentStream);
  25638.  
  25639.  
  25640. void __RPC_STUB IDvdInfo2_GetCurrentAudio_Stub(
  25641.     IRpcStubBuffer *This,
  25642.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25643.     PRPC_MESSAGE _pRpcMessage,
  25644.     DWORD *_pdwStubPhase);
  25645.  
  25646.  
  25647. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentSubpicture_Proxy( 
  25648.     IDvdInfo2 * This,
  25649.     /* [out] */ ULONG *pulStreamsAvailable,
  25650.     /* [out] */ ULONG *pulCurrentStream,
  25651.     /* [out] */ BOOL *pbIsDisabled);
  25652.  
  25653.  
  25654. void __RPC_STUB IDvdInfo2_GetCurrentSubpicture_Stub(
  25655.     IRpcStubBuffer *This,
  25656.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25657.     PRPC_MESSAGE _pRpcMessage,
  25658.     DWORD *_pdwStubPhase);
  25659.  
  25660.  
  25661. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentUOPS_Proxy( 
  25662.     IDvdInfo2 * This,
  25663.     /* [out] */ ULONG *pulUOPs);
  25664.  
  25665.  
  25666. void __RPC_STUB IDvdInfo2_GetCurrentUOPS_Stub(
  25667.     IRpcStubBuffer *This,
  25668.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25669.     PRPC_MESSAGE _pRpcMessage,
  25670.     DWORD *_pdwStubPhase);
  25671.  
  25672.  
  25673. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAllSPRMs_Proxy( 
  25674.     IDvdInfo2 * This,
  25675.     /* [out] */ SPRMARRAY *pRegisterArray);
  25676.  
  25677.  
  25678. void __RPC_STUB IDvdInfo2_GetAllSPRMs_Stub(
  25679.     IRpcStubBuffer *This,
  25680.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25681.     PRPC_MESSAGE _pRpcMessage,
  25682.     DWORD *_pdwStubPhase);
  25683.  
  25684.  
  25685. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAllGPRMs_Proxy( 
  25686.     IDvdInfo2 * This,
  25687.     /* [out] */ GPRMARRAY *pRegisterArray);
  25688.  
  25689.  
  25690. void __RPC_STUB IDvdInfo2_GetAllGPRMs_Stub(
  25691.     IRpcStubBuffer *This,
  25692.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25693.     PRPC_MESSAGE _pRpcMessage,
  25694.     DWORD *_pdwStubPhase);
  25695.  
  25696.  
  25697. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAudioLanguage_Proxy( 
  25698.     IDvdInfo2 * This,
  25699.     /* [in] */ ULONG ulStream,
  25700.     /* [out] */ LCID *pLanguage);
  25701.  
  25702.  
  25703. void __RPC_STUB IDvdInfo2_GetAudioLanguage_Stub(
  25704.     IRpcStubBuffer *This,
  25705.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25706.     PRPC_MESSAGE _pRpcMessage,
  25707.     DWORD *_pdwStubPhase);
  25708.  
  25709.  
  25710. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetSubpictureLanguage_Proxy( 
  25711.     IDvdInfo2 * This,
  25712.     /* [in] */ ULONG ulStream,
  25713.     /* [out] */ LCID *pLanguage);
  25714.  
  25715.  
  25716. void __RPC_STUB IDvdInfo2_GetSubpictureLanguage_Stub(
  25717.     IRpcStubBuffer *This,
  25718.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25719.     PRPC_MESSAGE _pRpcMessage,
  25720.     DWORD *_pdwStubPhase);
  25721.  
  25722.  
  25723. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetTitleAttributes_Proxy( 
  25724.     IDvdInfo2 * This,
  25725.     /* [in] */ ULONG ulTitle,
  25726.     /* [out] */ DVD_MenuAttributes *pMenu,
  25727.     /* [out] */ DVD_TitleAttributes *pTitle);
  25728.  
  25729.  
  25730. void __RPC_STUB IDvdInfo2_GetTitleAttributes_Stub(
  25731.     IRpcStubBuffer *This,
  25732.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25733.     PRPC_MESSAGE _pRpcMessage,
  25734.     DWORD *_pdwStubPhase);
  25735.  
  25736.  
  25737. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetVMGAttributes_Proxy( 
  25738.     IDvdInfo2 * This,
  25739.     /* [out] */ DVD_MenuAttributes *pATR);
  25740.  
  25741.  
  25742. void __RPC_STUB IDvdInfo2_GetVMGAttributes_Stub(
  25743.     IRpcStubBuffer *This,
  25744.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25745.     PRPC_MESSAGE _pRpcMessage,
  25746.     DWORD *_pdwStubPhase);
  25747.  
  25748.  
  25749. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentVideoAttributes_Proxy( 
  25750.     IDvdInfo2 * This,
  25751.     /* [out] */ DVD_VideoAttributes *pATR);
  25752.  
  25753.  
  25754. void __RPC_STUB IDvdInfo2_GetCurrentVideoAttributes_Stub(
  25755.     IRpcStubBuffer *This,
  25756.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25757.     PRPC_MESSAGE _pRpcMessage,
  25758.     DWORD *_pdwStubPhase);
  25759.  
  25760.  
  25761. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAudioAttributes_Proxy( 
  25762.     IDvdInfo2 * This,
  25763.     /* [in] */ ULONG ulStream,
  25764.     /* [out] */ DVD_AudioAttributes *pATR);
  25765.  
  25766.  
  25767. void __RPC_STUB IDvdInfo2_GetAudioAttributes_Stub(
  25768.     IRpcStubBuffer *This,
  25769.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25770.     PRPC_MESSAGE _pRpcMessage,
  25771.     DWORD *_pdwStubPhase);
  25772.  
  25773.  
  25774. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetKaraokeAttributes_Proxy( 
  25775.     IDvdInfo2 * This,
  25776.     /* [in] */ ULONG ulStream,
  25777.     /* [out] */ DVD_KaraokeAttributes *pAttributes);
  25778.  
  25779.  
  25780. void __RPC_STUB IDvdInfo2_GetKaraokeAttributes_Stub(
  25781.     IRpcStubBuffer *This,
  25782.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25783.     PRPC_MESSAGE _pRpcMessage,
  25784.     DWORD *_pdwStubPhase);
  25785.  
  25786.  
  25787. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetSubpictureAttributes_Proxy( 
  25788.     IDvdInfo2 * This,
  25789.     /* [in] */ ULONG ulStream,
  25790.     /* [out] */ DVD_SubpictureAttributes *pATR);
  25791.  
  25792.  
  25793. void __RPC_STUB IDvdInfo2_GetSubpictureAttributes_Stub(
  25794.     IRpcStubBuffer *This,
  25795.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25796.     PRPC_MESSAGE _pRpcMessage,
  25797.     DWORD *_pdwStubPhase);
  25798.  
  25799.  
  25800. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDVolumeInfo_Proxy( 
  25801.     IDvdInfo2 * This,
  25802.     /* [out] */ ULONG *pulNumOfVolumes,
  25803.     /* [out] */ ULONG *pulVolume,
  25804.     /* [out] */ DVD_DISC_SIDE *pSide,
  25805.     /* [out] */ ULONG *pulNumOfTitles);
  25806.  
  25807.  
  25808. void __RPC_STUB IDvdInfo2_GetDVDVolumeInfo_Stub(
  25809.     IRpcStubBuffer *This,
  25810.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25811.     PRPC_MESSAGE _pRpcMessage,
  25812.     DWORD *_pdwStubPhase);
  25813.  
  25814.  
  25815. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextNumberOfLanguages_Proxy( 
  25816.     IDvdInfo2 * This,
  25817.     /* [out] */ ULONG *pulNumOfLangs);
  25818.  
  25819.  
  25820. void __RPC_STUB IDvdInfo2_GetDVDTextNumberOfLanguages_Stub(
  25821.     IRpcStubBuffer *This,
  25822.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25823.     PRPC_MESSAGE _pRpcMessage,
  25824.     DWORD *_pdwStubPhase);
  25825.  
  25826.  
  25827. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextLanguageInfo_Proxy( 
  25828.     IDvdInfo2 * This,
  25829.     /* [in] */ ULONG ulLangIndex,
  25830.     /* [out] */ ULONG *pulNumOfStrings,
  25831.     /* [out] */ LCID *pLangCode,
  25832.     /* [out] */ enum DVD_TextCharSet *pbCharacterSet);
  25833.  
  25834.  
  25835. void __RPC_STUB IDvdInfo2_GetDVDTextLanguageInfo_Stub(
  25836.     IRpcStubBuffer *This,
  25837.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25838.     PRPC_MESSAGE _pRpcMessage,
  25839.     DWORD *_pdwStubPhase);
  25840.  
  25841.  
  25842. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextStringAsNative_Proxy( 
  25843.     IDvdInfo2 * This,
  25844.     /* [in] */ ULONG ulLangIndex,
  25845.     /* [in] */ ULONG ulStringIndex,
  25846.     /* [out] */ BYTE *pbBuffer,
  25847.     /* [in] */ ULONG ulMaxBufferSize,
  25848.     /* [out] */ ULONG *pulActualSize,
  25849.     /* [out] */ enum DVD_TextStringType *pType);
  25850.  
  25851.  
  25852. void __RPC_STUB IDvdInfo2_GetDVDTextStringAsNative_Stub(
  25853.     IRpcStubBuffer *This,
  25854.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25855.     PRPC_MESSAGE _pRpcMessage,
  25856.     DWORD *_pdwStubPhase);
  25857.  
  25858.  
  25859. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextStringAsUnicode_Proxy( 
  25860.     IDvdInfo2 * This,
  25861.     /* [in] */ ULONG ulLangIndex,
  25862.     /* [in] */ ULONG ulStringIndex,
  25863.     /* [out] */ WCHAR *pchwBuffer,
  25864.     /* [in] */ ULONG ulMaxBufferSize,
  25865.     /* [out] */ ULONG *pulActualSize,
  25866.     /* [out] */ enum DVD_TextStringType *pType);
  25867.  
  25868.  
  25869. void __RPC_STUB IDvdInfo2_GetDVDTextStringAsUnicode_Stub(
  25870.     IRpcStubBuffer *This,
  25871.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25872.     PRPC_MESSAGE _pRpcMessage,
  25873.     DWORD *_pdwStubPhase);
  25874.  
  25875.  
  25876. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetPlayerParentalLevel_Proxy( 
  25877.     IDvdInfo2 * This,
  25878.     /* [out] */ ULONG *pulParentalLevel,
  25879.     /* [out] */ BYTE pbCountryCode[ 2 ]);
  25880.  
  25881.  
  25882. void __RPC_STUB IDvdInfo2_GetPlayerParentalLevel_Stub(
  25883.     IRpcStubBuffer *This,
  25884.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25885.     PRPC_MESSAGE _pRpcMessage,
  25886.     DWORD *_pdwStubPhase);
  25887.  
  25888.  
  25889. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetNumberOfChapters_Proxy( 
  25890.     IDvdInfo2 * This,
  25891.     /* [in] */ ULONG ulTitle,
  25892.     /* [out] */ ULONG *pulNumOfChapters);
  25893.  
  25894.  
  25895. void __RPC_STUB IDvdInfo2_GetNumberOfChapters_Stub(
  25896.     IRpcStubBuffer *This,
  25897.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25898.     PRPC_MESSAGE _pRpcMessage,
  25899.     DWORD *_pdwStubPhase);
  25900.  
  25901.  
  25902. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetTitleParentalLevels_Proxy( 
  25903.     IDvdInfo2 * This,
  25904.     /* [in] */ ULONG ulTitle,
  25905.     /* [out] */ ULONG *pulParentalLevels);
  25906.  
  25907.  
  25908. void __RPC_STUB IDvdInfo2_GetTitleParentalLevels_Stub(
  25909.     IRpcStubBuffer *This,
  25910.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25911.     PRPC_MESSAGE _pRpcMessage,
  25912.     DWORD *_pdwStubPhase);
  25913.  
  25914.  
  25915. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDDirectory_Proxy( 
  25916.     IDvdInfo2 * This,
  25917.     /* [size_is][out] */ LPWSTR pszwPath,
  25918.     /* [in] */ ULONG ulMaxSize,
  25919.     /* [out] */ ULONG *pulActualSize);
  25920.  
  25921.  
  25922. void __RPC_STUB IDvdInfo2_GetDVDDirectory_Stub(
  25923.     IRpcStubBuffer *This,
  25924.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25925.     PRPC_MESSAGE _pRpcMessage,
  25926.     DWORD *_pdwStubPhase);
  25927.  
  25928.  
  25929. HRESULT STDMETHODCALLTYPE IDvdInfo2_IsAudioStreamEnabled_Proxy( 
  25930.     IDvdInfo2 * This,
  25931.     /* [in] */ ULONG ulStreamNum,
  25932.     /* [out] */ BOOL *pbEnabled);
  25933.  
  25934.  
  25935. void __RPC_STUB IDvdInfo2_IsAudioStreamEnabled_Stub(
  25936.     IRpcStubBuffer *This,
  25937.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25938.     PRPC_MESSAGE _pRpcMessage,
  25939.     DWORD *_pdwStubPhase);
  25940.  
  25941.  
  25942. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDiscID_Proxy( 
  25943.     IDvdInfo2 * This,
  25944.     /* [in] */ LPCWSTR pszwPath,
  25945.     /* [out] */ ULONGLONG *pullDiscID);
  25946.  
  25947.  
  25948. void __RPC_STUB IDvdInfo2_GetDiscID_Stub(
  25949.     IRpcStubBuffer *This,
  25950.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25951.     PRPC_MESSAGE _pRpcMessage,
  25952.     DWORD *_pdwStubPhase);
  25953.  
  25954.  
  25955. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetState_Proxy( 
  25956.     IDvdInfo2 * This,
  25957.     /* [out] */ IDvdState **pStateData);
  25958.  
  25959.  
  25960. void __RPC_STUB IDvdInfo2_GetState_Stub(
  25961.     IRpcStubBuffer *This,
  25962.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25963.     PRPC_MESSAGE _pRpcMessage,
  25964.     DWORD *_pdwStubPhase);
  25965.  
  25966.  
  25967. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetMenuLanguages_Proxy( 
  25968.     IDvdInfo2 * This,
  25969.     /* [out] */ LCID *pLanguages,
  25970.     /* [in] */ ULONG ulMaxLanguages,
  25971.     /* [out] */ ULONG *pulActualLanguages);
  25972.  
  25973.  
  25974. void __RPC_STUB IDvdInfo2_GetMenuLanguages_Stub(
  25975.     IRpcStubBuffer *This,
  25976.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25977.     PRPC_MESSAGE _pRpcMessage,
  25978.     DWORD *_pdwStubPhase);
  25979.  
  25980.  
  25981. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetButtonAtPosition_Proxy( 
  25982.     IDvdInfo2 * This,
  25983.     /* [in] */ POINT point,
  25984.     /* [out] */ ULONG *pulButtonIndex);
  25985.  
  25986.  
  25987. void __RPC_STUB IDvdInfo2_GetButtonAtPosition_Stub(
  25988.     IRpcStubBuffer *This,
  25989.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25990.     PRPC_MESSAGE _pRpcMessage,
  25991.     DWORD *_pdwStubPhase);
  25992.  
  25993.  
  25994. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCmdFromEvent_Proxy( 
  25995.     IDvdInfo2 * This,
  25996.     /* [in] */ LONG_PTR lParam1,
  25997.     /* [out] */ IDvdCmd **pCmdObj);
  25998.  
  25999.  
  26000. void __RPC_STUB IDvdInfo2_GetCmdFromEvent_Stub(
  26001.     IRpcStubBuffer *This,
  26002.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26003.     PRPC_MESSAGE _pRpcMessage,
  26004.     DWORD *_pdwStubPhase);
  26005.  
  26006.  
  26007. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDefaultMenuLanguage_Proxy( 
  26008.     IDvdInfo2 * This,
  26009.     /* [out] */ LCID *pLanguage);
  26010.  
  26011.  
  26012. void __RPC_STUB IDvdInfo2_GetDefaultMenuLanguage_Stub(
  26013.     IRpcStubBuffer *This,
  26014.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26015.     PRPC_MESSAGE _pRpcMessage,
  26016.     DWORD *_pdwStubPhase);
  26017.  
  26018.  
  26019. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDefaultAudioLanguage_Proxy( 
  26020.     IDvdInfo2 * This,
  26021.     /* [out] */ LCID *pLanguage,
  26022.     /* [out] */ DVD_AUDIO_LANG_EXT *pAudioExtension);
  26023.  
  26024.  
  26025. void __RPC_STUB IDvdInfo2_GetDefaultAudioLanguage_Stub(
  26026.     IRpcStubBuffer *This,
  26027.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26028.     PRPC_MESSAGE _pRpcMessage,
  26029.     DWORD *_pdwStubPhase);
  26030.  
  26031.  
  26032. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDefaultSubpictureLanguage_Proxy( 
  26033.     IDvdInfo2 * This,
  26034.     /* [out] */ LCID *pLanguage,
  26035.     /* [out] */ DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
  26036.  
  26037.  
  26038. void __RPC_STUB IDvdInfo2_GetDefaultSubpictureLanguage_Stub(
  26039.     IRpcStubBuffer *This,
  26040.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26041.     PRPC_MESSAGE _pRpcMessage,
  26042.     DWORD *_pdwStubPhase);
  26043.  
  26044.  
  26045. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDecoderCaps_Proxy( 
  26046.     IDvdInfo2 * This,
  26047.     /* [out] */ DVD_DECODER_CAPS *pCaps);
  26048.  
  26049.  
  26050. void __RPC_STUB IDvdInfo2_GetDecoderCaps_Stub(
  26051.     IRpcStubBuffer *This,
  26052.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26053.     PRPC_MESSAGE _pRpcMessage,
  26054.     DWORD *_pdwStubPhase);
  26055.  
  26056.  
  26057. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetButtonRect_Proxy( 
  26058.     IDvdInfo2 * This,
  26059.     /* [in] */ ULONG ulButton,
  26060.     /* [out] */ RECT *pRect);
  26061.  
  26062.  
  26063. void __RPC_STUB IDvdInfo2_GetButtonRect_Stub(
  26064.     IRpcStubBuffer *This,
  26065.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26066.     PRPC_MESSAGE _pRpcMessage,
  26067.     DWORD *_pdwStubPhase);
  26068.  
  26069.  
  26070. HRESULT STDMETHODCALLTYPE IDvdInfo2_IsSubpictureStreamEnabled_Proxy( 
  26071.     IDvdInfo2 * This,
  26072.     /* [in] */ ULONG ulStreamNum,
  26073.     /* [out] */ BOOL *pbEnabled);
  26074.  
  26075.  
  26076. void __RPC_STUB IDvdInfo2_IsSubpictureStreamEnabled_Stub(
  26077.     IRpcStubBuffer *This,
  26078.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26079.     PRPC_MESSAGE _pRpcMessage,
  26080.     DWORD *_pdwStubPhase);
  26081.  
  26082.  
  26083.  
  26084. #endif     /* __IDvdInfo2_INTERFACE_DEFINED__ */
  26085.  
  26086.  
  26087. /* interface __MIDL_itf_strmif_0382 */
  26088. /* [local] */ 
  26089.  
  26090. typedef 
  26091. enum _AM_DVD_GRAPH_FLAGS
  26092.     {    AM_DVD_HWDEC_PREFER    = 0x1,
  26093.     AM_DVD_HWDEC_ONLY    = 0x2,
  26094.     AM_DVD_SWDEC_PREFER    = 0x4,
  26095.     AM_DVD_SWDEC_ONLY    = 0x8,
  26096.     AM_DVD_NOVPE    = 0x100,
  26097.     AM_DVD_VMR9_ONLY    = 0x800
  26098.     }     AM_DVD_GRAPH_FLAGS;
  26099.  
  26100. typedef 
  26101. enum _AM_DVD_STREAM_FLAGS
  26102.     {    AM_DVD_STREAM_VIDEO    = 0x1,
  26103.     AM_DVD_STREAM_AUDIO    = 0x2,
  26104.     AM_DVD_STREAM_SUBPIC    = 0x4
  26105.     }     AM_DVD_STREAM_FLAGS;
  26106.  
  26107. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0382_0001
  26108.     {
  26109.     HRESULT hrVPEStatus;
  26110.     BOOL bDvdVolInvalid;
  26111.     BOOL bDvdVolUnknown;
  26112.     BOOL bNoLine21In;
  26113.     BOOL bNoLine21Out;
  26114.     int iNumStreams;
  26115.     int iNumStreamsFailed;
  26116.     DWORD dwFailedStreamsFlag;
  26117.     }     AM_DVD_RENDERSTATUS;
  26118.  
  26119.  
  26120.  
  26121. extern RPC_IF_HANDLE __MIDL_itf_strmif_0382_v0_0_c_ifspec;
  26122. extern RPC_IF_HANDLE __MIDL_itf_strmif_0382_v0_0_s_ifspec;
  26123.  
  26124. #ifndef __IDvdGraphBuilder_INTERFACE_DEFINED__
  26125. #define __IDvdGraphBuilder_INTERFACE_DEFINED__
  26126.  
  26127. /* interface IDvdGraphBuilder */
  26128. /* [unique][uuid][local][object] */ 
  26129.  
  26130.  
  26131. EXTERN_C const IID IID_IDvdGraphBuilder;
  26132.  
  26133. #if defined(__cplusplus) && !defined(CINTERFACE)
  26134.     
  26135.     MIDL_INTERFACE("FCC152B6-F372-11d0-8E00-00C04FD7C08B")
  26136.     IDvdGraphBuilder : public IUnknown
  26137.     {
  26138.     public:
  26139.         virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( 
  26140.             /* [out] */ IGraphBuilder **ppGB) = 0;
  26141.         
  26142.         virtual HRESULT STDMETHODCALLTYPE GetDvdInterface( 
  26143.             /* [in] */ REFIID riid,
  26144.             /* [out] */ void **ppvIF) = 0;
  26145.         
  26146.         virtual HRESULT STDMETHODCALLTYPE RenderDvdVideoVolume( 
  26147.             /* [in] */ LPCWSTR lpcwszPathName,
  26148.             /* [in] */ DWORD dwFlags,
  26149.             /* [out] */ AM_DVD_RENDERSTATUS *pStatus) = 0;
  26150.         
  26151.     };
  26152.     
  26153. #else     /* C style interface */
  26154.  
  26155.     typedef struct IDvdGraphBuilderVtbl
  26156.     {
  26157.         BEGIN_INTERFACE
  26158.         
  26159.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  26160.             IDvdGraphBuilder * This,
  26161.             /* [in] */ REFIID riid,
  26162.             /* [iid_is][out] */ void **ppvObject);
  26163.         
  26164.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  26165.             IDvdGraphBuilder * This);
  26166.         
  26167.         ULONG ( STDMETHODCALLTYPE *Release )( 
  26168.             IDvdGraphBuilder * This);
  26169.         
  26170.         HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )( 
  26171.             IDvdGraphBuilder * This,
  26172.             /* [out] */ IGraphBuilder **ppGB);
  26173.         
  26174.         HRESULT ( STDMETHODCALLTYPE *GetDvdInterface )( 
  26175.             IDvdGraphBuilder * This,
  26176.             /* [in] */ REFIID riid,
  26177.             /* [out] */ void **ppvIF);
  26178.         
  26179.         HRESULT ( STDMETHODCALLTYPE *RenderDvdVideoVolume )( 
  26180.             IDvdGraphBuilder * This,
  26181.             /* [in] */ LPCWSTR lpcwszPathName,
  26182.             /* [in] */ DWORD dwFlags,
  26183.             /* [out] */ AM_DVD_RENDERSTATUS *pStatus);
  26184.         
  26185.         END_INTERFACE
  26186.     } IDvdGraphBuilderVtbl;
  26187.  
  26188.     interface IDvdGraphBuilder
  26189.     {
  26190.         CONST_VTBL struct IDvdGraphBuilderVtbl *lpVtbl;
  26191.     };
  26192.  
  26193.     
  26194.  
  26195. #ifdef COBJMACROS
  26196.  
  26197.  
  26198. #define IDvdGraphBuilder_QueryInterface(This,riid,ppvObject)    \
  26199.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  26200.  
  26201. #define IDvdGraphBuilder_AddRef(This)    \
  26202.     (This)->lpVtbl -> AddRef(This)
  26203.  
  26204. #define IDvdGraphBuilder_Release(This)    \
  26205.     (This)->lpVtbl -> Release(This)
  26206.  
  26207.  
  26208. #define IDvdGraphBuilder_GetFiltergraph(This,ppGB)    \
  26209.     (This)->lpVtbl -> GetFiltergraph(This,ppGB)
  26210.  
  26211. #define IDvdGraphBuilder_GetDvdInterface(This,riid,ppvIF)    \
  26212.     (This)->lpVtbl -> GetDvdInterface(This,riid,ppvIF)
  26213.  
  26214. #define IDvdGraphBuilder_RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus)    \
  26215.     (This)->lpVtbl -> RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus)
  26216.  
  26217. #endif /* COBJMACROS */
  26218.  
  26219.  
  26220. #endif     /* C style interface */
  26221.  
  26222.  
  26223.  
  26224. HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_GetFiltergraph_Proxy( 
  26225.     IDvdGraphBuilder * This,
  26226.     /* [out] */ IGraphBuilder **ppGB);
  26227.  
  26228.  
  26229. void __RPC_STUB IDvdGraphBuilder_GetFiltergraph_Stub(
  26230.     IRpcStubBuffer *This,
  26231.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26232.     PRPC_MESSAGE _pRpcMessage,
  26233.     DWORD *_pdwStubPhase);
  26234.  
  26235.  
  26236. HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_GetDvdInterface_Proxy( 
  26237.     IDvdGraphBuilder * This,
  26238.     /* [in] */ REFIID riid,
  26239.     /* [out] */ void **ppvIF);
  26240.  
  26241.  
  26242. void __RPC_STUB IDvdGraphBuilder_GetDvdInterface_Stub(
  26243.     IRpcStubBuffer *This,
  26244.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26245.     PRPC_MESSAGE _pRpcMessage,
  26246.     DWORD *_pdwStubPhase);
  26247.  
  26248.  
  26249. HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_RenderDvdVideoVolume_Proxy( 
  26250.     IDvdGraphBuilder * This,
  26251.     /* [in] */ LPCWSTR lpcwszPathName,
  26252.     /* [in] */ DWORD dwFlags,
  26253.     /* [out] */ AM_DVD_RENDERSTATUS *pStatus);
  26254.  
  26255.  
  26256. void __RPC_STUB IDvdGraphBuilder_RenderDvdVideoVolume_Stub(
  26257.     IRpcStubBuffer *This,
  26258.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26259.     PRPC_MESSAGE _pRpcMessage,
  26260.     DWORD *_pdwStubPhase);
  26261.  
  26262.  
  26263.  
  26264. #endif     /* __IDvdGraphBuilder_INTERFACE_DEFINED__ */
  26265.  
  26266.  
  26267. #ifndef __IDDrawExclModeVideo_INTERFACE_DEFINED__
  26268. #define __IDDrawExclModeVideo_INTERFACE_DEFINED__
  26269.  
  26270. /* interface IDDrawExclModeVideo */
  26271. /* [unique][uuid][local][object] */ 
  26272.  
  26273.  
  26274. EXTERN_C const IID IID_IDDrawExclModeVideo;
  26275.  
  26276. #if defined(__cplusplus) && !defined(CINTERFACE)
  26277.     
  26278.     MIDL_INTERFACE("153ACC21-D83B-11d1-82BF-00A0C9696C8F")
  26279.     IDDrawExclModeVideo : public IUnknown
  26280.     {
  26281.     public:
  26282.         virtual HRESULT STDMETHODCALLTYPE SetDDrawObject( 
  26283.             /* [in] */ IDirectDraw *pDDrawObject) = 0;
  26284.         
  26285.         virtual HRESULT STDMETHODCALLTYPE GetDDrawObject( 
  26286.             /* [out] */ IDirectDraw **ppDDrawObject,
  26287.             /* [out] */ BOOL *pbUsingExternal) = 0;
  26288.         
  26289.         virtual HRESULT STDMETHODCALLTYPE SetDDrawSurface( 
  26290.             /* [in] */ IDirectDrawSurface *pDDrawSurface) = 0;
  26291.         
  26292.         virtual HRESULT STDMETHODCALLTYPE GetDDrawSurface( 
  26293.             /* [out] */ IDirectDrawSurface **ppDDrawSurface,
  26294.             /* [out] */ BOOL *pbUsingExternal) = 0;
  26295.         
  26296.         virtual HRESULT STDMETHODCALLTYPE SetDrawParameters( 
  26297.             /* [in] */ const RECT *prcSource,
  26298.             /* [in] */ const RECT *prcTarget) = 0;
  26299.         
  26300.         virtual HRESULT STDMETHODCALLTYPE GetNativeVideoProps( 
  26301.             /* [out] */ DWORD *pdwVideoWidth,
  26302.             /* [out] */ DWORD *pdwVideoHeight,
  26303.             /* [out] */ DWORD *pdwPictAspectRatioX,
  26304.             /* [out] */ DWORD *pdwPictAspectRatioY) = 0;
  26305.         
  26306.         virtual HRESULT STDMETHODCALLTYPE SetCallbackInterface( 
  26307.             /* [in] */ IDDrawExclModeVideoCallback *pCallback,
  26308.             /* [in] */ DWORD dwFlags) = 0;
  26309.         
  26310.     };
  26311.     
  26312. #else     /* C style interface */
  26313.  
  26314.     typedef struct IDDrawExclModeVideoVtbl
  26315.     {
  26316.         BEGIN_INTERFACE
  26317.         
  26318.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  26319.             IDDrawExclModeVideo * This,
  26320.             /* [in] */ REFIID riid,
  26321.             /* [iid_is][out] */ void **ppvObject);
  26322.         
  26323.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  26324.             IDDrawExclModeVideo * This);
  26325.         
  26326.         ULONG ( STDMETHODCALLTYPE *Release )( 
  26327.             IDDrawExclModeVideo * This);
  26328.         
  26329.         HRESULT ( STDMETHODCALLTYPE *SetDDrawObject )( 
  26330.             IDDrawExclModeVideo * This,
  26331.             /* [in] */ IDirectDraw *pDDrawObject);
  26332.         
  26333.         HRESULT ( STDMETHODCALLTYPE *GetDDrawObject )( 
  26334.             IDDrawExclModeVideo * This,
  26335.             /* [out] */ IDirectDraw **ppDDrawObject,
  26336.             /* [out] */ BOOL *pbUsingExternal);
  26337.         
  26338.         HRESULT ( STDMETHODCALLTYPE *SetDDrawSurface )( 
  26339.             IDDrawExclModeVideo * This,
  26340.             /* [in] */ IDirectDrawSurface *pDDrawSurface);
  26341.         
  26342.         HRESULT ( STDMETHODCALLTYPE *GetDDrawSurface )( 
  26343.             IDDrawExclModeVideo * This,
  26344.             /* [out] */ IDirectDrawSurface **ppDDrawSurface,
  26345.             /* [out] */ BOOL *pbUsingExternal);
  26346.         
  26347.         HRESULT ( STDMETHODCALLTYPE *SetDrawParameters )( 
  26348.             IDDrawExclModeVideo * This,
  26349.             /* [in] */ const RECT *prcSource,
  26350.             /* [in] */ const RECT *prcTarget);
  26351.         
  26352.         HRESULT ( STDMETHODCALLTYPE *GetNativeVideoProps )( 
  26353.             IDDrawExclModeVideo * This,
  26354.             /* [out] */ DWORD *pdwVideoWidth,
  26355.             /* [out] */ DWORD *pdwVideoHeight,
  26356.             /* [out] */ DWORD *pdwPictAspectRatioX,
  26357.             /* [out] */ DWORD *pdwPictAspectRatioY);
  26358.         
  26359.         HRESULT ( STDMETHODCALLTYPE *SetCallbackInterface )( 
  26360.             IDDrawExclModeVideo * This,
  26361.             /* [in] */ IDDrawExclModeVideoCallback *pCallback,
  26362.             /* [in] */ DWORD dwFlags);
  26363.         
  26364.         END_INTERFACE
  26365.     } IDDrawExclModeVideoVtbl;
  26366.  
  26367.     interface IDDrawExclModeVideo
  26368.     {
  26369.         CONST_VTBL struct IDDrawExclModeVideoVtbl *lpVtbl;
  26370.     };
  26371.  
  26372.     
  26373.  
  26374. #ifdef COBJMACROS
  26375.  
  26376.  
  26377. #define IDDrawExclModeVideo_QueryInterface(This,riid,ppvObject)    \
  26378.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  26379.  
  26380. #define IDDrawExclModeVideo_AddRef(This)    \
  26381.     (This)->lpVtbl -> AddRef(This)
  26382.  
  26383. #define IDDrawExclModeVideo_Release(This)    \
  26384.     (This)->lpVtbl -> Release(This)
  26385.  
  26386.  
  26387. #define IDDrawExclModeVideo_SetDDrawObject(This,pDDrawObject)    \
  26388.     (This)->lpVtbl -> SetDDrawObject(This,pDDrawObject)
  26389.  
  26390. #define IDDrawExclModeVideo_GetDDrawObject(This,ppDDrawObject,pbUsingExternal)    \
  26391.     (This)->lpVtbl -> GetDDrawObject(This,ppDDrawObject,pbUsingExternal)
  26392.  
  26393. #define IDDrawExclModeVideo_SetDDrawSurface(This,pDDrawSurface)    \
  26394.     (This)->lpVtbl -> SetDDrawSurface(This,pDDrawSurface)
  26395.  
  26396. #define IDDrawExclModeVideo_GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal)    \
  26397.     (This)->lpVtbl -> GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal)
  26398.  
  26399. #define IDDrawExclModeVideo_SetDrawParameters(This,prcSource,prcTarget)    \
  26400.     (This)->lpVtbl -> SetDrawParameters(This,prcSource,prcTarget)
  26401.  
  26402. #define IDDrawExclModeVideo_GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY)    \
  26403.     (This)->lpVtbl -> GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY)
  26404.  
  26405. #define IDDrawExclModeVideo_SetCallbackInterface(This,pCallback,dwFlags)    \
  26406.     (This)->lpVtbl -> SetCallbackInterface(This,pCallback,dwFlags)
  26407.  
  26408. #endif /* COBJMACROS */
  26409.  
  26410.  
  26411. #endif     /* C style interface */
  26412.  
  26413.  
  26414.  
  26415. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDDrawObject_Proxy( 
  26416.     IDDrawExclModeVideo * This,
  26417.     /* [in] */ IDirectDraw *pDDrawObject);
  26418.  
  26419.  
  26420. void __RPC_STUB IDDrawExclModeVideo_SetDDrawObject_Stub(
  26421.     IRpcStubBuffer *This,
  26422.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26423.     PRPC_MESSAGE _pRpcMessage,
  26424.     DWORD *_pdwStubPhase);
  26425.  
  26426.  
  26427. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetDDrawObject_Proxy( 
  26428.     IDDrawExclModeVideo * This,
  26429.     /* [out] */ IDirectDraw **ppDDrawObject,
  26430.     /* [out] */ BOOL *pbUsingExternal);
  26431.  
  26432.  
  26433. void __RPC_STUB IDDrawExclModeVideo_GetDDrawObject_Stub(
  26434.     IRpcStubBuffer *This,
  26435.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26436.     PRPC_MESSAGE _pRpcMessage,
  26437.     DWORD *_pdwStubPhase);
  26438.  
  26439.  
  26440. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDDrawSurface_Proxy( 
  26441.     IDDrawExclModeVideo * This,
  26442.     /* [in] */ IDirectDrawSurface *pDDrawSurface);
  26443.  
  26444.  
  26445. void __RPC_STUB IDDrawExclModeVideo_SetDDrawSurface_Stub(
  26446.     IRpcStubBuffer *This,
  26447.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26448.     PRPC_MESSAGE _pRpcMessage,
  26449.     DWORD *_pdwStubPhase);
  26450.  
  26451.  
  26452. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetDDrawSurface_Proxy( 
  26453.     IDDrawExclModeVideo * This,
  26454.     /* [out] */ IDirectDrawSurface **ppDDrawSurface,
  26455.     /* [out] */ BOOL *pbUsingExternal);
  26456.  
  26457.  
  26458. void __RPC_STUB IDDrawExclModeVideo_GetDDrawSurface_Stub(
  26459.     IRpcStubBuffer *This,
  26460.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26461.     PRPC_MESSAGE _pRpcMessage,
  26462.     DWORD *_pdwStubPhase);
  26463.  
  26464.  
  26465. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDrawParameters_Proxy( 
  26466.     IDDrawExclModeVideo * This,
  26467.     /* [in] */ const RECT *prcSource,
  26468.     /* [in] */ const RECT *prcTarget);
  26469.  
  26470.  
  26471. void __RPC_STUB IDDrawExclModeVideo_SetDrawParameters_Stub(
  26472.     IRpcStubBuffer *This,
  26473.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26474.     PRPC_MESSAGE _pRpcMessage,
  26475.     DWORD *_pdwStubPhase);
  26476.  
  26477.  
  26478. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetNativeVideoProps_Proxy( 
  26479.     IDDrawExclModeVideo * This,
  26480.     /* [out] */ DWORD *pdwVideoWidth,
  26481.     /* [out] */ DWORD *pdwVideoHeight,
  26482.     /* [out] */ DWORD *pdwPictAspectRatioX,
  26483.     /* [out] */ DWORD *pdwPictAspectRatioY);
  26484.  
  26485.  
  26486. void __RPC_STUB IDDrawExclModeVideo_GetNativeVideoProps_Stub(
  26487.     IRpcStubBuffer *This,
  26488.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26489.     PRPC_MESSAGE _pRpcMessage,
  26490.     DWORD *_pdwStubPhase);
  26491.  
  26492.  
  26493. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetCallbackInterface_Proxy( 
  26494.     IDDrawExclModeVideo * This,
  26495.     /* [in] */ IDDrawExclModeVideoCallback *pCallback,
  26496.     /* [in] */ DWORD dwFlags);
  26497.  
  26498.  
  26499. void __RPC_STUB IDDrawExclModeVideo_SetCallbackInterface_Stub(
  26500.     IRpcStubBuffer *This,
  26501.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26502.     PRPC_MESSAGE _pRpcMessage,
  26503.     DWORD *_pdwStubPhase);
  26504.  
  26505.  
  26506.  
  26507. #endif     /* __IDDrawExclModeVideo_INTERFACE_DEFINED__ */
  26508.  
  26509.  
  26510. /* interface __MIDL_itf_strmif_0384 */
  26511. /* [local] */ 
  26512.  
  26513.  
  26514. enum _AM_OVERLAY_NOTIFY_FLAGS
  26515.     {    AM_OVERLAY_NOTIFY_VISIBLE_CHANGE    = 0x1,
  26516.     AM_OVERLAY_NOTIFY_SOURCE_CHANGE    = 0x2,
  26517.     AM_OVERLAY_NOTIFY_DEST_CHANGE    = 0x4
  26518.     } ;
  26519.  
  26520.  
  26521. extern RPC_IF_HANDLE __MIDL_itf_strmif_0384_v0_0_c_ifspec;
  26522. extern RPC_IF_HANDLE __MIDL_itf_strmif_0384_v0_0_s_ifspec;
  26523.  
  26524. #ifndef __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
  26525. #define __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
  26526.  
  26527. /* interface IDDrawExclModeVideoCallback */
  26528. /* [unique][uuid][local][object] */ 
  26529.  
  26530.  
  26531. EXTERN_C const IID IID_IDDrawExclModeVideoCallback;
  26532.  
  26533. #if defined(__cplusplus) && !defined(CINTERFACE)
  26534.     
  26535.     MIDL_INTERFACE("913c24a0-20ab-11d2-9038-00a0c9697298")
  26536.     IDDrawExclModeVideoCallback : public IUnknown
  26537.     {
  26538.     public:
  26539.         virtual HRESULT STDMETHODCALLTYPE OnUpdateOverlay( 
  26540.             /* [in] */ BOOL bBefore,
  26541.             /* [in] */ DWORD dwFlags,
  26542.             /* [in] */ BOOL bOldVisible,
  26543.             /* [in] */ const RECT *prcOldSrc,
  26544.             /* [in] */ const RECT *prcOldDest,
  26545.             /* [in] */ BOOL bNewVisible,
  26546.             /* [in] */ const RECT *prcNewSrc,
  26547.             /* [in] */ const RECT *prcNewDest) = 0;
  26548.         
  26549.         virtual HRESULT STDMETHODCALLTYPE OnUpdateColorKey( 
  26550.             /* [in] */ const COLORKEY *pKey,
  26551.             /* [in] */ DWORD dwColor) = 0;
  26552.         
  26553.         virtual HRESULT STDMETHODCALLTYPE OnUpdateSize( 
  26554.             /* [in] */ DWORD dwWidth,
  26555.             /* [in] */ DWORD dwHeight,
  26556.             /* [in] */ DWORD dwARWidth,
  26557.             /* [in] */ DWORD dwARHeight) = 0;
  26558.         
  26559.     };
  26560.     
  26561. #else     /* C style interface */
  26562.  
  26563.     typedef struct IDDrawExclModeVideoCallbackVtbl
  26564.     {
  26565.         BEGIN_INTERFACE
  26566.         
  26567.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  26568.             IDDrawExclModeVideoCallback * This,
  26569.             /* [in] */ REFIID riid,
  26570.             /* [iid_is][out] */ void **ppvObject);
  26571.         
  26572.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  26573.             IDDrawExclModeVideoCallback * This);
  26574.         
  26575.         ULONG ( STDMETHODCALLTYPE *Release )( 
  26576.             IDDrawExclModeVideoCallback * This);
  26577.         
  26578.         HRESULT ( STDMETHODCALLTYPE *OnUpdateOverlay )( 
  26579.             IDDrawExclModeVideoCallback * This,
  26580.             /* [in] */ BOOL bBefore,
  26581.             /* [in] */ DWORD dwFlags,
  26582.             /* [in] */ BOOL bOldVisible,
  26583.             /* [in] */ const RECT *prcOldSrc,
  26584.             /* [in] */ const RECT *prcOldDest,
  26585.             /* [in] */ BOOL bNewVisible,
  26586.             /* [in] */ const RECT *prcNewSrc,
  26587.             /* [in] */ const RECT *prcNewDest);
  26588.         
  26589.         HRESULT ( STDMETHODCALLTYPE *OnUpdateColorKey )( 
  26590.             IDDrawExclModeVideoCallback * This,
  26591.             /* [in] */ const COLORKEY *pKey,
  26592.             /* [in] */ DWORD dwColor);
  26593.         
  26594.         HRESULT ( STDMETHODCALLTYPE *OnUpdateSize )( 
  26595.             IDDrawExclModeVideoCallback * This,
  26596.             /* [in] */ DWORD dwWidth,
  26597.             /* [in] */ DWORD dwHeight,
  26598.             /* [in] */ DWORD dwARWidth,
  26599.             /* [in] */ DWORD dwARHeight);
  26600.         
  26601.         END_INTERFACE
  26602.     } IDDrawExclModeVideoCallbackVtbl;
  26603.  
  26604.     interface IDDrawExclModeVideoCallback
  26605.     {
  26606.         CONST_VTBL struct IDDrawExclModeVideoCallbackVtbl *lpVtbl;
  26607.     };
  26608.  
  26609.     
  26610.  
  26611. #ifdef COBJMACROS
  26612.  
  26613.  
  26614. #define IDDrawExclModeVideoCallback_QueryInterface(This,riid,ppvObject)    \
  26615.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  26616.  
  26617. #define IDDrawExclModeVideoCallback_AddRef(This)    \
  26618.     (This)->lpVtbl -> AddRef(This)
  26619.  
  26620. #define IDDrawExclModeVideoCallback_Release(This)    \
  26621.     (This)->lpVtbl -> Release(This)
  26622.  
  26623.  
  26624. #define IDDrawExclModeVideoCallback_OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest)    \
  26625.     (This)->lpVtbl -> OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest)
  26626.  
  26627. #define IDDrawExclModeVideoCallback_OnUpdateColorKey(This,pKey,dwColor)    \
  26628.     (This)->lpVtbl -> OnUpdateColorKey(This,pKey,dwColor)
  26629.  
  26630. #define IDDrawExclModeVideoCallback_OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight)    \
  26631.     (This)->lpVtbl -> OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight)
  26632.  
  26633. #endif /* COBJMACROS */
  26634.  
  26635.  
  26636. #endif     /* C style interface */
  26637.  
  26638.  
  26639.  
  26640. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateOverlay_Proxy( 
  26641.     IDDrawExclModeVideoCallback * This,
  26642.     /* [in] */ BOOL bBefore,
  26643.     /* [in] */ DWORD dwFlags,
  26644.     /* [in] */ BOOL bOldVisible,
  26645.     /* [in] */ const RECT *prcOldSrc,
  26646.     /* [in] */ const RECT *prcOldDest,
  26647.     /* [in] */ BOOL bNewVisible,
  26648.     /* [in] */ const RECT *prcNewSrc,
  26649.     /* [in] */ const RECT *prcNewDest);
  26650.  
  26651.  
  26652. void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateOverlay_Stub(
  26653.     IRpcStubBuffer *This,
  26654.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26655.     PRPC_MESSAGE _pRpcMessage,
  26656.     DWORD *_pdwStubPhase);
  26657.  
  26658.  
  26659. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateColorKey_Proxy( 
  26660.     IDDrawExclModeVideoCallback * This,
  26661.     /* [in] */ const COLORKEY *pKey,
  26662.     /* [in] */ DWORD dwColor);
  26663.  
  26664.  
  26665. void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateColorKey_Stub(
  26666.     IRpcStubBuffer *This,
  26667.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26668.     PRPC_MESSAGE _pRpcMessage,
  26669.     DWORD *_pdwStubPhase);
  26670.  
  26671.  
  26672. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateSize_Proxy( 
  26673.     IDDrawExclModeVideoCallback * This,
  26674.     /* [in] */ DWORD dwWidth,
  26675.     /* [in] */ DWORD dwHeight,
  26676.     /* [in] */ DWORD dwARWidth,
  26677.     /* [in] */ DWORD dwARHeight);
  26678.  
  26679.  
  26680. void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateSize_Stub(
  26681.     IRpcStubBuffer *This,
  26682.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26683.     PRPC_MESSAGE _pRpcMessage,
  26684.     DWORD *_pdwStubPhase);
  26685.  
  26686.  
  26687.  
  26688. #endif     /* __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__ */
  26689.  
  26690.  
  26691. /* interface __MIDL_itf_strmif_0385 */
  26692. /* [local] */ 
  26693.  
  26694.  
  26695.  
  26696.  
  26697.  
  26698.  
  26699.  
  26700. extern RPC_IF_HANDLE __MIDL_itf_strmif_0385_v0_0_c_ifspec;
  26701. extern RPC_IF_HANDLE __MIDL_itf_strmif_0385_v0_0_s_ifspec;
  26702.  
  26703. #ifndef __IPinConnection_INTERFACE_DEFINED__
  26704. #define __IPinConnection_INTERFACE_DEFINED__
  26705.  
  26706. /* interface IPinConnection */
  26707. /* [unique][uuid][object][local] */ 
  26708.  
  26709.  
  26710. EXTERN_C const IID IID_IPinConnection;
  26711.  
  26712. #if defined(__cplusplus) && !defined(CINTERFACE)
  26713.     
  26714.     MIDL_INTERFACE("4a9a62d3-27d4-403d-91e9-89f540e55534")
  26715.     IPinConnection : public IUnknown
  26716.     {
  26717.     public:
  26718.         virtual HRESULT STDMETHODCALLTYPE DynamicQueryAccept( 
  26719.             /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  26720.         
  26721.         virtual HRESULT STDMETHODCALLTYPE NotifyEndOfStream( 
  26722.             /* [in] */ HANDLE hNotifyEvent) = 0;
  26723.         
  26724.         virtual HRESULT STDMETHODCALLTYPE IsEndPin( void) = 0;
  26725.         
  26726.         virtual HRESULT STDMETHODCALLTYPE DynamicDisconnect( void) = 0;
  26727.         
  26728.     };
  26729.     
  26730. #else     /* C style interface */
  26731.  
  26732.     typedef struct IPinConnectionVtbl
  26733.     {
  26734.         BEGIN_INTERFACE
  26735.         
  26736.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  26737.             IPinConnection * This,
  26738.             /* [in] */ REFIID riid,
  26739.             /* [iid_is][out] */ void **ppvObject);
  26740.         
  26741.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  26742.             IPinConnection * This);
  26743.         
  26744.         ULONG ( STDMETHODCALLTYPE *Release )( 
  26745.             IPinConnection * This);
  26746.         
  26747.         HRESULT ( STDMETHODCALLTYPE *DynamicQueryAccept )( 
  26748.             IPinConnection * This,
  26749.             /* [in] */ const AM_MEDIA_TYPE *pmt);
  26750.         
  26751.         HRESULT ( STDMETHODCALLTYPE *NotifyEndOfStream )( 
  26752.             IPinConnection * This,
  26753.             /* [in] */ HANDLE hNotifyEvent);
  26754.         
  26755.         HRESULT ( STDMETHODCALLTYPE *IsEndPin )( 
  26756.             IPinConnection * This);
  26757.         
  26758.         HRESULT ( STDMETHODCALLTYPE *DynamicDisconnect )( 
  26759.             IPinConnection * This);
  26760.         
  26761.         END_INTERFACE
  26762.     } IPinConnectionVtbl;
  26763.  
  26764.     interface IPinConnection
  26765.     {
  26766.         CONST_VTBL struct IPinConnectionVtbl *lpVtbl;
  26767.     };
  26768.  
  26769.     
  26770.  
  26771. #ifdef COBJMACROS
  26772.  
  26773.  
  26774. #define IPinConnection_QueryInterface(This,riid,ppvObject)    \
  26775.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  26776.  
  26777. #define IPinConnection_AddRef(This)    \
  26778.     (This)->lpVtbl -> AddRef(This)
  26779.  
  26780. #define IPinConnection_Release(This)    \
  26781.     (This)->lpVtbl -> Release(This)
  26782.  
  26783.  
  26784. #define IPinConnection_DynamicQueryAccept(This,pmt)    \
  26785.     (This)->lpVtbl -> DynamicQueryAccept(This,pmt)
  26786.  
  26787. #define IPinConnection_NotifyEndOfStream(This,hNotifyEvent)    \
  26788.     (This)->lpVtbl -> NotifyEndOfStream(This,hNotifyEvent)
  26789.  
  26790. #define IPinConnection_IsEndPin(This)    \
  26791.     (This)->lpVtbl -> IsEndPin(This)
  26792.  
  26793. #define IPinConnection_DynamicDisconnect(This)    \
  26794.     (This)->lpVtbl -> DynamicDisconnect(This)
  26795.  
  26796. #endif /* COBJMACROS */
  26797.  
  26798.  
  26799. #endif     /* C style interface */
  26800.  
  26801.  
  26802.  
  26803. HRESULT STDMETHODCALLTYPE IPinConnection_DynamicQueryAccept_Proxy( 
  26804.     IPinConnection * This,
  26805.     /* [in] */ const AM_MEDIA_TYPE *pmt);
  26806.  
  26807.  
  26808. void __RPC_STUB IPinConnection_DynamicQueryAccept_Stub(
  26809.     IRpcStubBuffer *This,
  26810.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26811.     PRPC_MESSAGE _pRpcMessage,
  26812.     DWORD *_pdwStubPhase);
  26813.  
  26814.  
  26815. HRESULT STDMETHODCALLTYPE IPinConnection_NotifyEndOfStream_Proxy( 
  26816.     IPinConnection * This,
  26817.     /* [in] */ HANDLE hNotifyEvent);
  26818.  
  26819.  
  26820. void __RPC_STUB IPinConnection_NotifyEndOfStream_Stub(
  26821.     IRpcStubBuffer *This,
  26822.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26823.     PRPC_MESSAGE _pRpcMessage,
  26824.     DWORD *_pdwStubPhase);
  26825.  
  26826.  
  26827. HRESULT STDMETHODCALLTYPE IPinConnection_IsEndPin_Proxy( 
  26828.     IPinConnection * This);
  26829.  
  26830.  
  26831. void __RPC_STUB IPinConnection_IsEndPin_Stub(
  26832.     IRpcStubBuffer *This,
  26833.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26834.     PRPC_MESSAGE _pRpcMessage,
  26835.     DWORD *_pdwStubPhase);
  26836.  
  26837.  
  26838. HRESULT STDMETHODCALLTYPE IPinConnection_DynamicDisconnect_Proxy( 
  26839.     IPinConnection * This);
  26840.  
  26841.  
  26842. void __RPC_STUB IPinConnection_DynamicDisconnect_Stub(
  26843.     IRpcStubBuffer *This,
  26844.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26845.     PRPC_MESSAGE _pRpcMessage,
  26846.     DWORD *_pdwStubPhase);
  26847.  
  26848.  
  26849.  
  26850. #endif     /* __IPinConnection_INTERFACE_DEFINED__ */
  26851.  
  26852.  
  26853. #ifndef __IPinFlowControl_INTERFACE_DEFINED__
  26854. #define __IPinFlowControl_INTERFACE_DEFINED__
  26855.  
  26856. /* interface IPinFlowControl */
  26857. /* [unique][uuid][object][local] */ 
  26858.  
  26859.  
  26860. EXTERN_C const IID IID_IPinFlowControl;
  26861.  
  26862. #if defined(__cplusplus) && !defined(CINTERFACE)
  26863.     
  26864.     MIDL_INTERFACE("c56e9858-dbf3-4f6b-8119-384af2060deb")
  26865.     IPinFlowControl : public IUnknown
  26866.     {
  26867.     public:
  26868.         virtual HRESULT STDMETHODCALLTYPE Block( 
  26869.             /* [in] */ DWORD dwBlockFlags,
  26870.             /* [in] */ HANDLE hEvent) = 0;
  26871.         
  26872.     };
  26873.     
  26874. #else     /* C style interface */
  26875.  
  26876.     typedef struct IPinFlowControlVtbl
  26877.     {
  26878.         BEGIN_INTERFACE
  26879.         
  26880.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  26881.             IPinFlowControl * This,
  26882.             /* [in] */ REFIID riid,
  26883.             /* [iid_is][out] */ void **ppvObject);
  26884.         
  26885.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  26886.             IPinFlowControl * This);
  26887.         
  26888.         ULONG ( STDMETHODCALLTYPE *Release )( 
  26889.             IPinFlowControl * This);
  26890.         
  26891.         HRESULT ( STDMETHODCALLTYPE *Block )( 
  26892.             IPinFlowControl * This,
  26893.             /* [in] */ DWORD dwBlockFlags,
  26894.             /* [in] */ HANDLE hEvent);
  26895.         
  26896.         END_INTERFACE
  26897.     } IPinFlowControlVtbl;
  26898.  
  26899.     interface IPinFlowControl
  26900.     {
  26901.         CONST_VTBL struct IPinFlowControlVtbl *lpVtbl;
  26902.     };
  26903.  
  26904.     
  26905.  
  26906. #ifdef COBJMACROS
  26907.  
  26908.  
  26909. #define IPinFlowControl_QueryInterface(This,riid,ppvObject)    \
  26910.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  26911.  
  26912. #define IPinFlowControl_AddRef(This)    \
  26913.     (This)->lpVtbl -> AddRef(This)
  26914.  
  26915. #define IPinFlowControl_Release(This)    \
  26916.     (This)->lpVtbl -> Release(This)
  26917.  
  26918.  
  26919. #define IPinFlowControl_Block(This,dwBlockFlags,hEvent)    \
  26920.     (This)->lpVtbl -> Block(This,dwBlockFlags,hEvent)
  26921.  
  26922. #endif /* COBJMACROS */
  26923.  
  26924.  
  26925. #endif     /* C style interface */
  26926.  
  26927.  
  26928.  
  26929. HRESULT STDMETHODCALLTYPE IPinFlowControl_Block_Proxy( 
  26930.     IPinFlowControl * This,
  26931.     /* [in] */ DWORD dwBlockFlags,
  26932.     /* [in] */ HANDLE hEvent);
  26933.  
  26934.  
  26935. void __RPC_STUB IPinFlowControl_Block_Stub(
  26936.     IRpcStubBuffer *This,
  26937.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26938.     PRPC_MESSAGE _pRpcMessage,
  26939.     DWORD *_pdwStubPhase);
  26940.  
  26941.  
  26942.  
  26943. #endif     /* __IPinFlowControl_INTERFACE_DEFINED__ */
  26944.  
  26945.  
  26946. /* interface __MIDL_itf_strmif_0387 */
  26947. /* [local] */ 
  26948.  
  26949.  
  26950. enum _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS
  26951.     {    AM_PIN_FLOW_CONTROL_BLOCK    = 0x1
  26952.     } ;
  26953. typedef 
  26954. enum _AM_GRAPH_CONFIG_RECONNECT_FLAGS
  26955.     {    AM_GRAPH_CONFIG_RECONNECT_DIRECTCONNECT    = 0x1,
  26956.     AM_GRAPH_CONFIG_RECONNECT_CACHE_REMOVED_FILTERS    = 0x2,
  26957.     AM_GRAPH_CONFIG_RECONNECT_USE_ONLY_CACHED_FILTERS    = 0x4
  26958.     }     AM_GRAPH_CONFIG_RECONNECT_FLAGS;
  26959.  
  26960.  
  26961. enum _REM_FILTER_FLAGS
  26962.     {    REMFILTERF_LEAVECONNECTED    = 0x1
  26963.     } ;
  26964. typedef 
  26965. enum _AM_FILTER_FLAGS
  26966.     {    AM_FILTER_FLAGS_REMOVABLE    = 0x1
  26967.     }     AM_FILTER_FLAGS;
  26968.  
  26969.  
  26970.  
  26971. extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_c_ifspec;
  26972. extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_s_ifspec;
  26973.  
  26974. #ifndef __IGraphConfig_INTERFACE_DEFINED__
  26975. #define __IGraphConfig_INTERFACE_DEFINED__
  26976.  
  26977. /* interface IGraphConfig */
  26978. /* [unique][uuid][object][local] */ 
  26979.  
  26980.  
  26981. EXTERN_C const IID IID_IGraphConfig;
  26982.  
  26983. #if defined(__cplusplus) && !defined(CINTERFACE)
  26984.     
  26985.     MIDL_INTERFACE("03A1EB8E-32BF-4245-8502-114D08A9CB88")
  26986.     IGraphConfig : public IUnknown
  26987.     {
  26988.     public:
  26989.         virtual HRESULT STDMETHODCALLTYPE Reconnect( 
  26990.             /* [in] */ IPin *pOutputPin,
  26991.             /* [in] */ IPin *pInputPin,
  26992.             /* [in] */ const AM_MEDIA_TYPE *pmtFirstConnection,
  26993.             /* [in] */ IBaseFilter *pUsingFilter,
  26994.             /* [in] */ HANDLE hAbortEvent,
  26995.             /* [in] */ DWORD dwFlags) = 0;
  26996.         
  26997.         virtual HRESULT STDMETHODCALLTYPE Reconfigure( 
  26998.             /* [in] */ IGraphConfigCallback *pCallback,
  26999.             /* [in] */ PVOID pvContext,
  27000.             /* [in] */ DWORD dwFlags,
  27001.             /* [in] */ HANDLE hAbortEvent) = 0;
  27002.         
  27003.         virtual HRESULT STDMETHODCALLTYPE AddFilterToCache( 
  27004.             /* [in] */ IBaseFilter *pFilter) = 0;
  27005.         
  27006.         virtual HRESULT STDMETHODCALLTYPE EnumCacheFilter( 
  27007.             /* [out] */ IEnumFilters **pEnum) = 0;
  27008.         
  27009.         virtual HRESULT STDMETHODCALLTYPE RemoveFilterFromCache( 
  27010.             /* [in] */ IBaseFilter *pFilter) = 0;
  27011.         
  27012.         virtual HRESULT STDMETHODCALLTYPE GetStartTime( 
  27013.             /* [out] */ REFERENCE_TIME *prtStart) = 0;
  27014.         
  27015.         virtual HRESULT STDMETHODCALLTYPE PushThroughData( 
  27016.             /* [in] */ IPin *pOutputPin,
  27017.             /* [in] */ IPinConnection *pConnection,
  27018.             /* [in] */ HANDLE hEventAbort) = 0;
  27019.         
  27020.         virtual HRESULT STDMETHODCALLTYPE SetFilterFlags( 
  27021.             /* [in] */ IBaseFilter *pFilter,
  27022.             /* [in] */ DWORD dwFlags) = 0;
  27023.         
  27024.         virtual HRESULT STDMETHODCALLTYPE GetFilterFlags( 
  27025.             /* [in] */ IBaseFilter *pFilter,
  27026.             /* [out] */ DWORD *pdwFlags) = 0;
  27027.         
  27028.         virtual HRESULT STDMETHODCALLTYPE RemoveFilterEx( 
  27029.             /* [in] */ IBaseFilter *pFilter,
  27030.             DWORD Flags) = 0;
  27031.         
  27032.     };
  27033.     
  27034. #else     /* C style interface */
  27035.  
  27036.     typedef struct IGraphConfigVtbl
  27037.     {
  27038.         BEGIN_INTERFACE
  27039.         
  27040.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  27041.             IGraphConfig * This,
  27042.             /* [in] */ REFIID riid,
  27043.             /* [iid_is][out] */ void **ppvObject);
  27044.         
  27045.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  27046.             IGraphConfig * This);
  27047.         
  27048.         ULONG ( STDMETHODCALLTYPE *Release )( 
  27049.             IGraphConfig * This);
  27050.         
  27051.         HRESULT ( STDMETHODCALLTYPE *Reconnect )( 
  27052.             IGraphConfig * This,
  27053.             /* [in] */ IPin *pOutputPin,
  27054.             /* [in] */ IPin *pInputPin,
  27055.             /* [in] */ const AM_MEDIA_TYPE *pmtFirstConnection,
  27056.             /* [in] */ IBaseFilter *pUsingFilter,
  27057.             /* [in] */ HANDLE hAbortEvent,
  27058.             /* [in] */ DWORD dwFlags);
  27059.         
  27060.         HRESULT ( STDMETHODCALLTYPE *Reconfigure )( 
  27061.             IGraphConfig * This,
  27062.             /* [in] */ IGraphConfigCallback *pCallback,
  27063.             /* [in] */ PVOID pvContext,
  27064.             /* [in] */ DWORD dwFlags,
  27065.             /* [in] */ HANDLE hAbortEvent);
  27066.         
  27067.         HRESULT ( STDMETHODCALLTYPE *AddFilterToCache )( 
  27068.             IGraphConfig * This,
  27069.             /* [in] */ IBaseFilter *pFilter);
  27070.         
  27071.         HRESULT ( STDMETHODCALLTYPE *EnumCacheFilter )( 
  27072.             IGraphConfig * This,
  27073.             /* [out] */ IEnumFilters **pEnum);
  27074.         
  27075.         HRESULT ( STDMETHODCALLTYPE *RemoveFilterFromCache )( 
  27076.             IGraphConfig * This,
  27077.             /* [in] */ IBaseFilter *pFilter);
  27078.         
  27079.         HRESULT ( STDMETHODCALLTYPE *GetStartTime )( 
  27080.             IGraphConfig * This,
  27081.             /* [out] */ REFERENCE_TIME *prtStart);
  27082.         
  27083.         HRESULT ( STDMETHODCALLTYPE *PushThroughData )( 
  27084.             IGraphConfig * This,
  27085.             /* [in] */ IPin *pOutputPin,
  27086.             /* [in] */ IPinConnection *pConnection,
  27087.             /* [in] */ HANDLE hEventAbort);
  27088.         
  27089.         HRESULT ( STDMETHODCALLTYPE *SetFilterFlags )( 
  27090.             IGraphConfig * This,
  27091.             /* [in] */ IBaseFilter *pFilter,
  27092.             /* [in] */ DWORD dwFlags);
  27093.         
  27094.         HRESULT ( STDMETHODCALLTYPE *GetFilterFlags )( 
  27095.             IGraphConfig * This,
  27096.             /* [in] */ IBaseFilter *pFilter,
  27097.             /* [out] */ DWORD *pdwFlags);
  27098.         
  27099.         HRESULT ( STDMETHODCALLTYPE *RemoveFilterEx )( 
  27100.             IGraphConfig * This,
  27101.             /* [in] */ IBaseFilter *pFilter,
  27102.             DWORD Flags);
  27103.         
  27104.         END_INTERFACE
  27105.     } IGraphConfigVtbl;
  27106.  
  27107.     interface IGraphConfig
  27108.     {
  27109.         CONST_VTBL struct IGraphConfigVtbl *lpVtbl;
  27110.     };
  27111.  
  27112.     
  27113.  
  27114. #ifdef COBJMACROS
  27115.  
  27116.  
  27117. #define IGraphConfig_QueryInterface(This,riid,ppvObject)    \
  27118.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  27119.  
  27120. #define IGraphConfig_AddRef(This)    \
  27121.     (This)->lpVtbl -> AddRef(This)
  27122.  
  27123. #define IGraphConfig_Release(This)    \
  27124.     (This)->lpVtbl -> Release(This)
  27125.  
  27126.  
  27127. #define IGraphConfig_Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags)    \
  27128.     (This)->lpVtbl -> Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags)
  27129.  
  27130. #define IGraphConfig_Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent)    \
  27131.     (This)->lpVtbl -> Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent)
  27132.  
  27133. #define IGraphConfig_AddFilterToCache(This,pFilter)    \
  27134.     (This)->lpVtbl -> AddFilterToCache(This,pFilter)
  27135.  
  27136. #define IGraphConfig_EnumCacheFilter(This,pEnum)    \
  27137.     (This)->lpVtbl -> EnumCacheFilter(This,pEnum)
  27138.  
  27139. #define IGraphConfig_RemoveFilterFromCache(This,pFilter)    \
  27140.     (This)->lpVtbl -> RemoveFilterFromCache(This,pFilter)
  27141.  
  27142. #define IGraphConfig_GetStartTime(This,prtStart)    \
  27143.     (This)->lpVtbl -> GetStartTime(This,prtStart)
  27144.  
  27145. #define IGraphConfig_PushThroughData(This,pOutputPin,pConnection,hEventAbort)    \
  27146.     (This)->lpVtbl -> PushThroughData(This,pOutputPin,pConnection,hEventAbort)
  27147.  
  27148. #define IGraphConfig_SetFilterFlags(This,pFilter,dwFlags)    \
  27149.     (This)->lpVtbl -> SetFilterFlags(This,pFilter,dwFlags)
  27150.  
  27151. #define IGraphConfig_GetFilterFlags(This,pFilter,pdwFlags)    \
  27152.     (This)->lpVtbl -> GetFilterFlags(This,pFilter,pdwFlags)
  27153.  
  27154. #define IGraphConfig_RemoveFilterEx(This,pFilter,Flags)    \
  27155.     (This)->lpVtbl -> RemoveFilterEx(This,pFilter,Flags)
  27156.  
  27157. #endif /* COBJMACROS */
  27158.  
  27159.  
  27160. #endif     /* C style interface */
  27161.  
  27162.  
  27163.  
  27164. HRESULT STDMETHODCALLTYPE IGraphConfig_Reconnect_Proxy( 
  27165.     IGraphConfig * This,
  27166.     /* [in] */ IPin *pOutputPin,
  27167.     /* [in] */ IPin *pInputPin,
  27168.     /* [in] */ const AM_MEDIA_TYPE *pmtFirstConnection,
  27169.     /* [in] */ IBaseFilter *pUsingFilter,
  27170.     /* [in] */ HANDLE hAbortEvent,
  27171.     /* [in] */ DWORD dwFlags);
  27172.  
  27173.  
  27174. void __RPC_STUB IGraphConfig_Reconnect_Stub(
  27175.     IRpcStubBuffer *This,
  27176.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27177.     PRPC_MESSAGE _pRpcMessage,
  27178.     DWORD *_pdwStubPhase);
  27179.  
  27180.  
  27181. HRESULT STDMETHODCALLTYPE IGraphConfig_Reconfigure_Proxy( 
  27182.     IGraphConfig * This,
  27183.     /* [in] */ IGraphConfigCallback *pCallback,
  27184.     /* [in] */ PVOID pvContext,
  27185.     /* [in] */ DWORD dwFlags,
  27186.     /* [in] */ HANDLE hAbortEvent);
  27187.  
  27188.  
  27189. void __RPC_STUB IGraphConfig_Reconfigure_Stub(
  27190.     IRpcStubBuffer *This,
  27191.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27192.     PRPC_MESSAGE _pRpcMessage,
  27193.     DWORD *_pdwStubPhase);
  27194.  
  27195.  
  27196. HRESULT STDMETHODCALLTYPE IGraphConfig_AddFilterToCache_Proxy( 
  27197.     IGraphConfig * This,
  27198.     /* [in] */ IBaseFilter *pFilter);
  27199.  
  27200.  
  27201. void __RPC_STUB IGraphConfig_AddFilterToCache_Stub(
  27202.     IRpcStubBuffer *This,
  27203.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27204.     PRPC_MESSAGE _pRpcMessage,
  27205.     DWORD *_pdwStubPhase);
  27206.  
  27207.  
  27208. HRESULT STDMETHODCALLTYPE IGraphConfig_EnumCacheFilter_Proxy( 
  27209.     IGraphConfig * This,
  27210.     /* [out] */ IEnumFilters **pEnum);
  27211.  
  27212.  
  27213. void __RPC_STUB IGraphConfig_EnumCacheFilter_Stub(
  27214.     IRpcStubBuffer *This,
  27215.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27216.     PRPC_MESSAGE _pRpcMessage,
  27217.     DWORD *_pdwStubPhase);
  27218.  
  27219.  
  27220. HRESULT STDMETHODCALLTYPE IGraphConfig_RemoveFilterFromCache_Proxy( 
  27221.     IGraphConfig * This,
  27222.     /* [in] */ IBaseFilter *pFilter);
  27223.  
  27224.  
  27225. void __RPC_STUB IGraphConfig_RemoveFilterFromCache_Stub(
  27226.     IRpcStubBuffer *This,
  27227.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27228.     PRPC_MESSAGE _pRpcMessage,
  27229.     DWORD *_pdwStubPhase);
  27230.  
  27231.  
  27232. HRESULT STDMETHODCALLTYPE IGraphConfig_GetStartTime_Proxy( 
  27233.     IGraphConfig * This,
  27234.     /* [out] */ REFERENCE_TIME *prtStart);
  27235.  
  27236.  
  27237. void __RPC_STUB IGraphConfig_GetStartTime_Stub(
  27238.     IRpcStubBuffer *This,
  27239.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27240.     PRPC_MESSAGE _pRpcMessage,
  27241.     DWORD *_pdwStubPhase);
  27242.  
  27243.  
  27244. HRESULT STDMETHODCALLTYPE IGraphConfig_PushThroughData_Proxy( 
  27245.     IGraphConfig * This,
  27246.     /* [in] */ IPin *pOutputPin,
  27247.     /* [in] */ IPinConnection *pConnection,
  27248.     /* [in] */ HANDLE hEventAbort);
  27249.  
  27250.  
  27251. void __RPC_STUB IGraphConfig_PushThroughData_Stub(
  27252.     IRpcStubBuffer *This,
  27253.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27254.     PRPC_MESSAGE _pRpcMessage,
  27255.     DWORD *_pdwStubPhase);
  27256.  
  27257.  
  27258. HRESULT STDMETHODCALLTYPE IGraphConfig_SetFilterFlags_Proxy( 
  27259.     IGraphConfig * This,
  27260.     /* [in] */ IBaseFilter *pFilter,
  27261.     /* [in] */ DWORD dwFlags);
  27262.  
  27263.  
  27264. void __RPC_STUB IGraphConfig_SetFilterFlags_Stub(
  27265.     IRpcStubBuffer *This,
  27266.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27267.     PRPC_MESSAGE _pRpcMessage,
  27268.     DWORD *_pdwStubPhase);
  27269.  
  27270.  
  27271. HRESULT STDMETHODCALLTYPE IGraphConfig_GetFilterFlags_Proxy( 
  27272.     IGraphConfig * This,
  27273.     /* [in] */ IBaseFilter *pFilter,
  27274.     /* [out] */ DWORD *pdwFlags);
  27275.  
  27276.  
  27277. void __RPC_STUB IGraphConfig_GetFilterFlags_Stub(
  27278.     IRpcStubBuffer *This,
  27279.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27280.     PRPC_MESSAGE _pRpcMessage,
  27281.     DWORD *_pdwStubPhase);
  27282.  
  27283.  
  27284. HRESULT STDMETHODCALLTYPE IGraphConfig_RemoveFilterEx_Proxy( 
  27285.     IGraphConfig * This,
  27286.     /* [in] */ IBaseFilter *pFilter,
  27287.     DWORD Flags);
  27288.  
  27289.  
  27290. void __RPC_STUB IGraphConfig_RemoveFilterEx_Stub(
  27291.     IRpcStubBuffer *This,
  27292.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27293.     PRPC_MESSAGE _pRpcMessage,
  27294.     DWORD *_pdwStubPhase);
  27295.  
  27296.  
  27297.  
  27298. #endif     /* __IGraphConfig_INTERFACE_DEFINED__ */
  27299.  
  27300.  
  27301. #ifndef __IGraphConfigCallback_INTERFACE_DEFINED__
  27302. #define __IGraphConfigCallback_INTERFACE_DEFINED__
  27303.  
  27304. /* interface IGraphConfigCallback */
  27305. /* [unique][uuid][object][local] */ 
  27306.  
  27307.  
  27308. EXTERN_C const IID IID_IGraphConfigCallback;
  27309.  
  27310. #if defined(__cplusplus) && !defined(CINTERFACE)
  27311.     
  27312.     MIDL_INTERFACE("ade0fd60-d19d-11d2-abf6-00a0c905f375")
  27313.     IGraphConfigCallback : public IUnknown
  27314.     {
  27315.     public:
  27316.         virtual HRESULT STDMETHODCALLTYPE Reconfigure( 
  27317.             PVOID pvContext,
  27318.             DWORD dwFlags) = 0;
  27319.         
  27320.     };
  27321.     
  27322. #else     /* C style interface */
  27323.  
  27324.     typedef struct IGraphConfigCallbackVtbl
  27325.     {
  27326.         BEGIN_INTERFACE
  27327.         
  27328.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  27329.             IGraphConfigCallback * This,
  27330.             /* [in] */ REFIID riid,
  27331.             /* [iid_is][out] */ void **ppvObject);
  27332.         
  27333.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  27334.             IGraphConfigCallback * This);
  27335.         
  27336.         ULONG ( STDMETHODCALLTYPE *Release )( 
  27337.             IGraphConfigCallback * This);
  27338.         
  27339.         HRESULT ( STDMETHODCALLTYPE *Reconfigure )( 
  27340.             IGraphConfigCallback * This,
  27341.             PVOID pvContext,
  27342.             DWORD dwFlags);
  27343.         
  27344.         END_INTERFACE
  27345.     } IGraphConfigCallbackVtbl;
  27346.  
  27347.     interface IGraphConfigCallback
  27348.     {
  27349.         CONST_VTBL struct IGraphConfigCallbackVtbl *lpVtbl;
  27350.     };
  27351.  
  27352.     
  27353.  
  27354. #ifdef COBJMACROS
  27355.  
  27356.  
  27357. #define IGraphConfigCallback_QueryInterface(This,riid,ppvObject)    \
  27358.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  27359.  
  27360. #define IGraphConfigCallback_AddRef(This)    \
  27361.     (This)->lpVtbl -> AddRef(This)
  27362.  
  27363. #define IGraphConfigCallback_Release(This)    \
  27364.     (This)->lpVtbl -> Release(This)
  27365.  
  27366.  
  27367. #define IGraphConfigCallback_Reconfigure(This,pvContext,dwFlags)    \
  27368.     (This)->lpVtbl -> Reconfigure(This,pvContext,dwFlags)
  27369.  
  27370. #endif /* COBJMACROS */
  27371.  
  27372.  
  27373. #endif     /* C style interface */
  27374.  
  27375.  
  27376.  
  27377. HRESULT STDMETHODCALLTYPE IGraphConfigCallback_Reconfigure_Proxy( 
  27378.     IGraphConfigCallback * This,
  27379.     PVOID pvContext,
  27380.     DWORD dwFlags);
  27381.  
  27382.  
  27383. void __RPC_STUB IGraphConfigCallback_Reconfigure_Stub(
  27384.     IRpcStubBuffer *This,
  27385.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27386.     PRPC_MESSAGE _pRpcMessage,
  27387.     DWORD *_pdwStubPhase);
  27388.  
  27389.  
  27390.  
  27391. #endif     /* __IGraphConfigCallback_INTERFACE_DEFINED__ */
  27392.  
  27393.  
  27394. #ifndef __IFilterChain_INTERFACE_DEFINED__
  27395. #define __IFilterChain_INTERFACE_DEFINED__
  27396.  
  27397. /* interface IFilterChain */
  27398. /* [unique][uuid][object][local] */ 
  27399.  
  27400.  
  27401. EXTERN_C const IID IID_IFilterChain;
  27402.  
  27403. #if defined(__cplusplus) && !defined(CINTERFACE)
  27404.     
  27405.     MIDL_INTERFACE("DCFBDCF6-0DC2-45f5-9AB2-7C330EA09C29")
  27406.     IFilterChain : public IUnknown
  27407.     {
  27408.     public:
  27409.         virtual HRESULT STDMETHODCALLTYPE StartChain( 
  27410.             /* [in] */ IBaseFilter *pStartFilter,
  27411.             /* [in] */ IBaseFilter *pEndFilter) = 0;
  27412.         
  27413.         virtual HRESULT STDMETHODCALLTYPE PauseChain( 
  27414.             /* [in] */ IBaseFilter *pStartFilter,
  27415.             /* [in] */ IBaseFilter *pEndFilter) = 0;
  27416.         
  27417.         virtual HRESULT STDMETHODCALLTYPE StopChain( 
  27418.             /* [in] */ IBaseFilter *pStartFilter,
  27419.             /* [in] */ IBaseFilter *pEndFilter) = 0;
  27420.         
  27421.         virtual HRESULT STDMETHODCALLTYPE RemoveChain( 
  27422.             /* [in] */ IBaseFilter *pStartFilter,
  27423.             /* [in] */ IBaseFilter *pEndFilter) = 0;
  27424.         
  27425.     };
  27426.     
  27427. #else     /* C style interface */
  27428.  
  27429.     typedef struct IFilterChainVtbl
  27430.     {
  27431.         BEGIN_INTERFACE
  27432.         
  27433.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  27434.             IFilterChain * This,
  27435.             /* [in] */ REFIID riid,
  27436.             /* [iid_is][out] */ void **ppvObject);
  27437.         
  27438.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  27439.             IFilterChain * This);
  27440.         
  27441.         ULONG ( STDMETHODCALLTYPE *Release )( 
  27442.             IFilterChain * This);
  27443.         
  27444.         HRESULT ( STDMETHODCALLTYPE *StartChain )( 
  27445.             IFilterChain * This,
  27446.             /* [in] */ IBaseFilter *pStartFilter,
  27447.             /* [in] */ IBaseFilter *pEndFilter);
  27448.         
  27449.         HRESULT ( STDMETHODCALLTYPE *PauseChain )( 
  27450.             IFilterChain * This,
  27451.             /* [in] */ IBaseFilter *pStartFilter,
  27452.             /* [in] */ IBaseFilter *pEndFilter);
  27453.         
  27454.         HRESULT ( STDMETHODCALLTYPE *StopChain )( 
  27455.             IFilterChain * This,
  27456.             /* [in] */ IBaseFilter *pStartFilter,
  27457.             /* [in] */ IBaseFilter *pEndFilter);
  27458.         
  27459.         HRESULT ( STDMETHODCALLTYPE *RemoveChain )( 
  27460.             IFilterChain * This,
  27461.             /* [in] */ IBaseFilter *pStartFilter,
  27462.             /* [in] */ IBaseFilter *pEndFilter);
  27463.         
  27464.         END_INTERFACE
  27465.     } IFilterChainVtbl;
  27466.  
  27467.     interface IFilterChain
  27468.     {
  27469.         CONST_VTBL struct IFilterChainVtbl *lpVtbl;
  27470.     };
  27471.  
  27472.     
  27473.  
  27474. #ifdef COBJMACROS
  27475.  
  27476.  
  27477. #define IFilterChain_QueryInterface(This,riid,ppvObject)    \
  27478.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  27479.  
  27480. #define IFilterChain_AddRef(This)    \
  27481.     (This)->lpVtbl -> AddRef(This)
  27482.  
  27483. #define IFilterChain_Release(This)    \
  27484.     (This)->lpVtbl -> Release(This)
  27485.  
  27486.  
  27487. #define IFilterChain_StartChain(This,pStartFilter,pEndFilter)    \
  27488.     (This)->lpVtbl -> StartChain(This,pStartFilter,pEndFilter)
  27489.  
  27490. #define IFilterChain_PauseChain(This,pStartFilter,pEndFilter)    \
  27491.     (This)->lpVtbl -> PauseChain(This,pStartFilter,pEndFilter)
  27492.  
  27493. #define IFilterChain_StopChain(This,pStartFilter,pEndFilter)    \
  27494.     (This)->lpVtbl -> StopChain(This,pStartFilter,pEndFilter)
  27495.  
  27496. #define IFilterChain_RemoveChain(This,pStartFilter,pEndFilter)    \
  27497.     (This)->lpVtbl -> RemoveChain(This,pStartFilter,pEndFilter)
  27498.  
  27499. #endif /* COBJMACROS */
  27500.  
  27501.  
  27502. #endif     /* C style interface */
  27503.  
  27504.  
  27505.  
  27506. HRESULT STDMETHODCALLTYPE IFilterChain_StartChain_Proxy( 
  27507.     IFilterChain * This,
  27508.     /* [in] */ IBaseFilter *pStartFilter,
  27509.     /* [in] */ IBaseFilter *pEndFilter);
  27510.  
  27511.  
  27512. void __RPC_STUB IFilterChain_StartChain_Stub(
  27513.     IRpcStubBuffer *This,
  27514.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27515.     PRPC_MESSAGE _pRpcMessage,
  27516.     DWORD *_pdwStubPhase);
  27517.  
  27518.  
  27519. HRESULT STDMETHODCALLTYPE IFilterChain_PauseChain_Proxy( 
  27520.     IFilterChain * This,
  27521.     /* [in] */ IBaseFilter *pStartFilter,
  27522.     /* [in] */ IBaseFilter *pEndFilter);
  27523.  
  27524.  
  27525. void __RPC_STUB IFilterChain_PauseChain_Stub(
  27526.     IRpcStubBuffer *This,
  27527.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27528.     PRPC_MESSAGE _pRpcMessage,
  27529.     DWORD *_pdwStubPhase);
  27530.  
  27531.  
  27532. HRESULT STDMETHODCALLTYPE IFilterChain_StopChain_Proxy( 
  27533.     IFilterChain * This,
  27534.     /* [in] */ IBaseFilter *pStartFilter,
  27535.     /* [in] */ IBaseFilter *pEndFilter);
  27536.  
  27537.  
  27538. void __RPC_STUB IFilterChain_StopChain_Stub(
  27539.     IRpcStubBuffer *This,
  27540.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27541.     PRPC_MESSAGE _pRpcMessage,
  27542.     DWORD *_pdwStubPhase);
  27543.  
  27544.  
  27545. HRESULT STDMETHODCALLTYPE IFilterChain_RemoveChain_Proxy( 
  27546.     IFilterChain * This,
  27547.     /* [in] */ IBaseFilter *pStartFilter,
  27548.     /* [in] */ IBaseFilter *pEndFilter);
  27549.  
  27550.  
  27551. void __RPC_STUB IFilterChain_RemoveChain_Stub(
  27552.     IRpcStubBuffer *This,
  27553.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27554.     PRPC_MESSAGE _pRpcMessage,
  27555.     DWORD *_pdwStubPhase);
  27556.  
  27557.  
  27558.  
  27559. #endif     /* __IFilterChain_INTERFACE_DEFINED__ */
  27560.  
  27561.  
  27562. /* interface __MIDL_itf_strmif_0390 */
  27563. /* [local] */ 
  27564.  
  27565. #if 0
  27566. typedef DWORD *LPDIRECTDRAW7;
  27567.  
  27568. typedef DWORD *LPDIRECTDRAWSURFACE7;
  27569.  
  27570. typedef DWORD *LPDDPIXELFORMAT;
  27571.  
  27572. typedef DWORD *LPBITMAPINFOHEADER;
  27573.  
  27574. typedef /* [public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0390_0001
  27575.     {
  27576.     DWORD dw1;
  27577.     DWORD dw2;
  27578.     }     DDCOLORKEY;
  27579.  
  27580. typedef DDCOLORKEY *LPDDCOLORKEY;
  27581.  
  27582. #endif
  27583. #include <ddraw.h>
  27584.  
  27585.  
  27586.  
  27587.  
  27588.  
  27589.  
  27590.  
  27591.  
  27592.  
  27593.  
  27594.  
  27595.  
  27596.  
  27597.  
  27598. typedef /* [public] */ 
  27599. enum __MIDL___MIDL_itf_strmif_0390_0002
  27600.     {    VMRSample_SyncPoint    = 0x1,
  27601.     VMRSample_Preroll    = 0x2,
  27602.     VMRSample_Discontinuity    = 0x4,
  27603.     VMRSample_TimeValid    = 0x8,
  27604.     VMRSample_SrcDstRectsValid    = 0x10
  27605.     }     VMRPresentationFlags;
  27606.  
  27607. typedef struct tagVMRPRESENTATIONINFO
  27608.     {
  27609.     DWORD dwFlags;
  27610.     LPDIRECTDRAWSURFACE7 lpSurf;
  27611.     REFERENCE_TIME rtStart;
  27612.     REFERENCE_TIME rtEnd;
  27613.     SIZE szAspectRatio;
  27614.     RECT rcSrc;
  27615.     RECT rcDst;
  27616.     DWORD dwTypeSpecificFlags;
  27617.     DWORD dwInterlaceFlags;
  27618.     }     VMRPRESENTATIONINFO;
  27619.  
  27620.  
  27621.  
  27622. extern RPC_IF_HANDLE __MIDL_itf_strmif_0390_v0_0_c_ifspec;
  27623. extern RPC_IF_HANDLE __MIDL_itf_strmif_0390_v0_0_s_ifspec;
  27624.  
  27625. #ifndef __IVMRImagePresenter_INTERFACE_DEFINED__
  27626. #define __IVMRImagePresenter_INTERFACE_DEFINED__
  27627.  
  27628. /* interface IVMRImagePresenter */
  27629. /* [unique][helpstring][uuid][local][object][local] */ 
  27630.  
  27631.  
  27632. EXTERN_C const IID IID_IVMRImagePresenter;
  27633.  
  27634. #if defined(__cplusplus) && !defined(CINTERFACE)
  27635.     
  27636.     MIDL_INTERFACE("CE704FE7-E71E-41fb-BAA2-C4403E1182F5")
  27637.     IVMRImagePresenter : public IUnknown
  27638.     {
  27639.     public:
  27640.         virtual HRESULT STDMETHODCALLTYPE StartPresenting( 
  27641.             /* [in] */ DWORD_PTR dwUserID) = 0;
  27642.         
  27643.         virtual HRESULT STDMETHODCALLTYPE StopPresenting( 
  27644.             /* [in] */ DWORD_PTR dwUserID) = 0;
  27645.         
  27646.         virtual HRESULT STDMETHODCALLTYPE PresentImage( 
  27647.             /* [in] */ DWORD_PTR dwUserID,
  27648.             /* [in] */ VMRPRESENTATIONINFO *lpPresInfo) = 0;
  27649.         
  27650.     };
  27651.     
  27652. #else     /* C style interface */
  27653.  
  27654.     typedef struct IVMRImagePresenterVtbl
  27655.     {
  27656.         BEGIN_INTERFACE
  27657.         
  27658.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  27659.             IVMRImagePresenter * This,
  27660.             /* [in] */ REFIID riid,
  27661.             /* [iid_is][out] */ void **ppvObject);
  27662.         
  27663.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  27664.             IVMRImagePresenter * This);
  27665.         
  27666.         ULONG ( STDMETHODCALLTYPE *Release )( 
  27667.             IVMRImagePresenter * This);
  27668.         
  27669.         HRESULT ( STDMETHODCALLTYPE *StartPresenting )( 
  27670.             IVMRImagePresenter * This,
  27671.             /* [in] */ DWORD_PTR dwUserID);
  27672.         
  27673.         HRESULT ( STDMETHODCALLTYPE *StopPresenting )( 
  27674.             IVMRImagePresenter * This,
  27675.             /* [in] */ DWORD_PTR dwUserID);
  27676.         
  27677.         HRESULT ( STDMETHODCALLTYPE *PresentImage )( 
  27678.             IVMRImagePresenter * This,
  27679.             /* [in] */ DWORD_PTR dwUserID,
  27680.             /* [in] */ VMRPRESENTATIONINFO *lpPresInfo);
  27681.         
  27682.         END_INTERFACE
  27683.     } IVMRImagePresenterVtbl;
  27684.  
  27685.     interface IVMRImagePresenter
  27686.     {
  27687.         CONST_VTBL struct IVMRImagePresenterVtbl *lpVtbl;
  27688.     };
  27689.  
  27690.     
  27691.  
  27692. #ifdef COBJMACROS
  27693.  
  27694.  
  27695. #define IVMRImagePresenter_QueryInterface(This,riid,ppvObject)    \
  27696.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  27697.  
  27698. #define IVMRImagePresenter_AddRef(This)    \
  27699.     (This)->lpVtbl -> AddRef(This)
  27700.  
  27701. #define IVMRImagePresenter_Release(This)    \
  27702.     (This)->lpVtbl -> Release(This)
  27703.  
  27704.  
  27705. #define IVMRImagePresenter_StartPresenting(This,dwUserID)    \
  27706.     (This)->lpVtbl -> StartPresenting(This,dwUserID)
  27707.  
  27708. #define IVMRImagePresenter_StopPresenting(This,dwUserID)    \
  27709.     (This)->lpVtbl -> StopPresenting(This,dwUserID)
  27710.  
  27711. #define IVMRImagePresenter_PresentImage(This,dwUserID,lpPresInfo)    \
  27712.     (This)->lpVtbl -> PresentImage(This,dwUserID,lpPresInfo)
  27713.  
  27714. #endif /* COBJMACROS */
  27715.  
  27716.  
  27717. #endif     /* C style interface */
  27718.  
  27719.  
  27720.  
  27721. HRESULT STDMETHODCALLTYPE IVMRImagePresenter_StartPresenting_Proxy( 
  27722.     IVMRImagePresenter * This,
  27723.     /* [in] */ DWORD_PTR dwUserID);
  27724.  
  27725.  
  27726. void __RPC_STUB IVMRImagePresenter_StartPresenting_Stub(
  27727.     IRpcStubBuffer *This,
  27728.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27729.     PRPC_MESSAGE _pRpcMessage,
  27730.     DWORD *_pdwStubPhase);
  27731.  
  27732.  
  27733. HRESULT STDMETHODCALLTYPE IVMRImagePresenter_StopPresenting_Proxy( 
  27734.     IVMRImagePresenter * This,
  27735.     /* [in] */ DWORD_PTR dwUserID);
  27736.  
  27737.  
  27738. void __RPC_STUB IVMRImagePresenter_StopPresenting_Stub(
  27739.     IRpcStubBuffer *This,
  27740.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27741.     PRPC_MESSAGE _pRpcMessage,
  27742.     DWORD *_pdwStubPhase);
  27743.  
  27744.  
  27745. HRESULT STDMETHODCALLTYPE IVMRImagePresenter_PresentImage_Proxy( 
  27746.     IVMRImagePresenter * This,
  27747.     /* [in] */ DWORD_PTR dwUserID,
  27748.     /* [in] */ VMRPRESENTATIONINFO *lpPresInfo);
  27749.  
  27750.  
  27751. void __RPC_STUB IVMRImagePresenter_PresentImage_Stub(
  27752.     IRpcStubBuffer *This,
  27753.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27754.     PRPC_MESSAGE _pRpcMessage,
  27755.     DWORD *_pdwStubPhase);
  27756.  
  27757.  
  27758.  
  27759. #endif     /* __IVMRImagePresenter_INTERFACE_DEFINED__ */
  27760.  
  27761.  
  27762. /* interface __MIDL_itf_strmif_0391 */
  27763. /* [local] */ 
  27764.  
  27765. typedef /* [public] */ 
  27766. enum __MIDL___MIDL_itf_strmif_0391_0001
  27767.     {    AMAP_PIXELFORMAT_VALID    = 0x1,
  27768.     AMAP_3D_TARGET    = 0x2,
  27769.     AMAP_ALLOW_SYSMEM    = 0x4,
  27770.     AMAP_FORCE_SYSMEM    = 0x8,
  27771.     AMAP_DIRECTED_FLIP    = 0x10,
  27772.     AMAP_DXVA_TARGET    = 0x20
  27773.     }     VMRSurfaceAllocationFlags;
  27774.  
  27775. typedef struct tagVMRALLOCATIONINFO
  27776.     {
  27777.     DWORD dwFlags;
  27778.     LPBITMAPINFOHEADER lpHdr;
  27779.     LPDDPIXELFORMAT lpPixFmt;
  27780.     SIZE szAspectRatio;
  27781.     DWORD dwMinBuffers;
  27782.     DWORD dwMaxBuffers;
  27783.     DWORD dwInterlaceFlags;
  27784.     SIZE szNativeSize;
  27785.     }     VMRALLOCATIONINFO;
  27786.  
  27787.  
  27788.  
  27789. extern RPC_IF_HANDLE __MIDL_itf_strmif_0391_v0_0_c_ifspec;
  27790. extern RPC_IF_HANDLE __MIDL_itf_strmif_0391_v0_0_s_ifspec;
  27791.  
  27792. #ifndef __IVMRSurfaceAllocator_INTERFACE_DEFINED__
  27793. #define __IVMRSurfaceAllocator_INTERFACE_DEFINED__
  27794.  
  27795. /* interface IVMRSurfaceAllocator */
  27796. /* [unique][helpstring][uuid][local][object][local] */ 
  27797.  
  27798.  
  27799. EXTERN_C const IID IID_IVMRSurfaceAllocator;
  27800.  
  27801. #if defined(__cplusplus) && !defined(CINTERFACE)
  27802.     
  27803.     MIDL_INTERFACE("31ce832e-4484-458b-8cca-f4d7e3db0b52")
  27804.     IVMRSurfaceAllocator : public IUnknown
  27805.     {
  27806.     public:
  27807.         virtual HRESULT STDMETHODCALLTYPE AllocateSurface( 
  27808.             /* [in] */ DWORD_PTR dwUserID,
  27809.             /* [in] */ VMRALLOCATIONINFO *lpAllocInfo,
  27810.             /* [out][in] */ DWORD *lpdwActualBuffers,
  27811.             /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface) = 0;
  27812.         
  27813.         virtual HRESULT STDMETHODCALLTYPE FreeSurface( 
  27814.             /* [in] */ DWORD_PTR dwID) = 0;
  27815.         
  27816.         virtual HRESULT STDMETHODCALLTYPE PrepareSurface( 
  27817.             /* [in] */ DWORD_PTR dwUserID,
  27818.             /* [in] */ LPDIRECTDRAWSURFACE7 lpSurface,
  27819.             /* [in] */ DWORD dwSurfaceFlags) = 0;
  27820.         
  27821.         virtual HRESULT STDMETHODCALLTYPE AdviseNotify( 
  27822.             /* [in] */ IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify) = 0;
  27823.         
  27824.     };
  27825.     
  27826. #else     /* C style interface */
  27827.  
  27828.     typedef struct IVMRSurfaceAllocatorVtbl
  27829.     {
  27830.         BEGIN_INTERFACE
  27831.         
  27832.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  27833.             IVMRSurfaceAllocator * This,
  27834.             /* [in] */ REFIID riid,
  27835.             /* [iid_is][out] */ void **ppvObject);
  27836.         
  27837.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  27838.             IVMRSurfaceAllocator * This);
  27839.         
  27840.         ULONG ( STDMETHODCALLTYPE *Release )( 
  27841.             IVMRSurfaceAllocator * This);
  27842.         
  27843.         HRESULT ( STDMETHODCALLTYPE *AllocateSurface )( 
  27844.             IVMRSurfaceAllocator * This,
  27845.             /* [in] */ DWORD_PTR dwUserID,
  27846.             /* [in] */ VMRALLOCATIONINFO *lpAllocInfo,
  27847.             /* [out][in] */ DWORD *lpdwActualBuffers,
  27848.             /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);
  27849.         
  27850.         HRESULT ( STDMETHODCALLTYPE *FreeSurface )( 
  27851.             IVMRSurfaceAllocator * This,
  27852.             /* [in] */ DWORD_PTR dwID);
  27853.         
  27854.         HRESULT ( STDMETHODCALLTYPE *PrepareSurface )( 
  27855.             IVMRSurfaceAllocator * This,
  27856.             /* [in] */ DWORD_PTR dwUserID,
  27857.             /* [in] */ LPDIRECTDRAWSURFACE7 lpSurface,
  27858.             /* [in] */ DWORD dwSurfaceFlags);
  27859.         
  27860.         HRESULT ( STDMETHODCALLTYPE *AdviseNotify )( 
  27861.             IVMRSurfaceAllocator * This,
  27862.             /* [in] */ IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify);
  27863.         
  27864.         END_INTERFACE
  27865.     } IVMRSurfaceAllocatorVtbl;
  27866.  
  27867.     interface IVMRSurfaceAllocator
  27868.     {
  27869.         CONST_VTBL struct IVMRSurfaceAllocatorVtbl *lpVtbl;
  27870.     };
  27871.  
  27872.     
  27873.  
  27874. #ifdef COBJMACROS
  27875.  
  27876.  
  27877. #define IVMRSurfaceAllocator_QueryInterface(This,riid,ppvObject)    \
  27878.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  27879.  
  27880. #define IVMRSurfaceAllocator_AddRef(This)    \
  27881.     (This)->lpVtbl -> AddRef(This)
  27882.  
  27883. #define IVMRSurfaceAllocator_Release(This)    \
  27884.     (This)->lpVtbl -> Release(This)
  27885.  
  27886.  
  27887. #define IVMRSurfaceAllocator_AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface)    \
  27888.     (This)->lpVtbl -> AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface)
  27889.  
  27890. #define IVMRSurfaceAllocator_FreeSurface(This,dwID)    \
  27891.     (This)->lpVtbl -> FreeSurface(This,dwID)
  27892.  
  27893. #define IVMRSurfaceAllocator_PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags)    \
  27894.     (This)->lpVtbl -> PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags)
  27895.  
  27896. #define IVMRSurfaceAllocator_AdviseNotify(This,lpIVMRSurfAllocNotify)    \
  27897.     (This)->lpVtbl -> AdviseNotify(This,lpIVMRSurfAllocNotify)
  27898.  
  27899. #endif /* COBJMACROS */
  27900.  
  27901.  
  27902. #endif     /* C style interface */
  27903.  
  27904.  
  27905.  
  27906. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_AllocateSurface_Proxy( 
  27907.     IVMRSurfaceAllocator * This,
  27908.     /* [in] */ DWORD_PTR dwUserID,
  27909.     /* [in] */ VMRALLOCATIONINFO *lpAllocInfo,
  27910.     /* [out][in] */ DWORD *lpdwActualBuffers,
  27911.     /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);
  27912.  
  27913.  
  27914. void __RPC_STUB IVMRSurfaceAllocator_AllocateSurface_Stub(
  27915.     IRpcStubBuffer *This,
  27916.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27917.     PRPC_MESSAGE _pRpcMessage,
  27918.     DWORD *_pdwStubPhase);
  27919.  
  27920.  
  27921. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_FreeSurface_Proxy( 
  27922.     IVMRSurfaceAllocator * This,
  27923.     /* [in] */ DWORD_PTR dwID);
  27924.  
  27925.  
  27926. void __RPC_STUB IVMRSurfaceAllocator_FreeSurface_Stub(
  27927.     IRpcStubBuffer *This,
  27928.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27929.     PRPC_MESSAGE _pRpcMessage,
  27930.     DWORD *_pdwStubPhase);
  27931.  
  27932.  
  27933. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_PrepareSurface_Proxy( 
  27934.     IVMRSurfaceAllocator * This,
  27935.     /* [in] */ DWORD_PTR dwUserID,
  27936.     /* [in] */ LPDIRECTDRAWSURFACE7 lpSurface,
  27937.     /* [in] */ DWORD dwSurfaceFlags);
  27938.  
  27939.  
  27940. void __RPC_STUB IVMRSurfaceAllocator_PrepareSurface_Stub(
  27941.     IRpcStubBuffer *This,
  27942.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27943.     PRPC_MESSAGE _pRpcMessage,
  27944.     DWORD *_pdwStubPhase);
  27945.  
  27946.  
  27947. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_AdviseNotify_Proxy( 
  27948.     IVMRSurfaceAllocator * This,
  27949.     /* [in] */ IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify);
  27950.  
  27951.  
  27952. void __RPC_STUB IVMRSurfaceAllocator_AdviseNotify_Stub(
  27953.     IRpcStubBuffer *This,
  27954.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27955.     PRPC_MESSAGE _pRpcMessage,
  27956.     DWORD *_pdwStubPhase);
  27957.  
  27958.  
  27959.  
  27960. #endif     /* __IVMRSurfaceAllocator_INTERFACE_DEFINED__ */
  27961.  
  27962.  
  27963. #ifndef __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__
  27964. #define __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__
  27965.  
  27966. /* interface IVMRSurfaceAllocatorNotify */
  27967. /* [unique][helpstring][uuid][local][object][local] */ 
  27968.  
  27969.  
  27970. EXTERN_C const IID IID_IVMRSurfaceAllocatorNotify;
  27971.  
  27972. #if defined(__cplusplus) && !defined(CINTERFACE)
  27973.     
  27974.     MIDL_INTERFACE("aada05a8-5a4e-4729-af0b-cea27aed51e2")
  27975.     IVMRSurfaceAllocatorNotify : public IUnknown
  27976.     {
  27977.     public:
  27978.         virtual HRESULT STDMETHODCALLTYPE AdviseSurfaceAllocator( 
  27979.             /* [in] */ DWORD_PTR dwUserID,
  27980.             /* [in] */ IVMRSurfaceAllocator *lpIVRMSurfaceAllocator) = 0;
  27981.         
  27982.         virtual HRESULT STDMETHODCALLTYPE SetDDrawDevice( 
  27983.             /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  27984.             /* [in] */ HMONITOR hMonitor) = 0;
  27985.         
  27986.         virtual HRESULT STDMETHODCALLTYPE ChangeDDrawDevice( 
  27987.             /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  27988.             /* [in] */ HMONITOR hMonitor) = 0;
  27989.         
  27990.         virtual HRESULT STDMETHODCALLTYPE RestoreDDrawSurfaces( void) = 0;
  27991.         
  27992.         virtual HRESULT STDMETHODCALLTYPE NotifyEvent( 
  27993.             /* [in] */ LONG EventCode,
  27994.             /* [in] */ LONG_PTR Param1,
  27995.             /* [in] */ LONG_PTR Param2) = 0;
  27996.         
  27997.         virtual HRESULT STDMETHODCALLTYPE SetBorderColor( 
  27998.             /* [in] */ COLORREF clrBorder) = 0;
  27999.         
  28000.     };
  28001.     
  28002. #else     /* C style interface */
  28003.  
  28004.     typedef struct IVMRSurfaceAllocatorNotifyVtbl
  28005.     {
  28006.         BEGIN_INTERFACE
  28007.         
  28008.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  28009.             IVMRSurfaceAllocatorNotify * This,
  28010.             /* [in] */ REFIID riid,
  28011.             /* [iid_is][out] */ void **ppvObject);
  28012.         
  28013.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  28014.             IVMRSurfaceAllocatorNotify * This);
  28015.         
  28016.         ULONG ( STDMETHODCALLTYPE *Release )( 
  28017.             IVMRSurfaceAllocatorNotify * This);
  28018.         
  28019.         HRESULT ( STDMETHODCALLTYPE *AdviseSurfaceAllocator )( 
  28020.             IVMRSurfaceAllocatorNotify * This,
  28021.             /* [in] */ DWORD_PTR dwUserID,
  28022.             /* [in] */ IVMRSurfaceAllocator *lpIVRMSurfaceAllocator);
  28023.         
  28024.         HRESULT ( STDMETHODCALLTYPE *SetDDrawDevice )( 
  28025.             IVMRSurfaceAllocatorNotify * This,
  28026.             /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  28027.             /* [in] */ HMONITOR hMonitor);
  28028.         
  28029.         HRESULT ( STDMETHODCALLTYPE *ChangeDDrawDevice )( 
  28030.             IVMRSurfaceAllocatorNotify * This,
  28031.             /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  28032.             /* [in] */ HMONITOR hMonitor);
  28033.         
  28034.         HRESULT ( STDMETHODCALLTYPE *RestoreDDrawSurfaces )( 
  28035.             IVMRSurfaceAllocatorNotify * This);
  28036.         
  28037.         HRESULT ( STDMETHODCALLTYPE *NotifyEvent )( 
  28038.             IVMRSurfaceAllocatorNotify * This,
  28039.             /* [in] */ LONG EventCode,
  28040.             /* [in] */ LONG_PTR Param1,
  28041.             /* [in] */ LONG_PTR Param2);
  28042.         
  28043.         HRESULT ( STDMETHODCALLTYPE *SetBorderColor )( 
  28044.             IVMRSurfaceAllocatorNotify * This,
  28045.             /* [in] */ COLORREF clrBorder);
  28046.         
  28047.         END_INTERFACE
  28048.     } IVMRSurfaceAllocatorNotifyVtbl;
  28049.  
  28050.     interface IVMRSurfaceAllocatorNotify
  28051.     {
  28052.         CONST_VTBL struct IVMRSurfaceAllocatorNotifyVtbl *lpVtbl;
  28053.     };
  28054.  
  28055.     
  28056.  
  28057. #ifdef COBJMACROS
  28058.  
  28059.  
  28060. #define IVMRSurfaceAllocatorNotify_QueryInterface(This,riid,ppvObject)    \
  28061.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  28062.  
  28063. #define IVMRSurfaceAllocatorNotify_AddRef(This)    \
  28064.     (This)->lpVtbl -> AddRef(This)
  28065.  
  28066. #define IVMRSurfaceAllocatorNotify_Release(This)    \
  28067.     (This)->lpVtbl -> Release(This)
  28068.  
  28069.  
  28070. #define IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator)    \
  28071.     (This)->lpVtbl -> AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator)
  28072.  
  28073. #define IVMRSurfaceAllocatorNotify_SetDDrawDevice(This,lpDDrawDevice,hMonitor)    \
  28074.     (This)->lpVtbl -> SetDDrawDevice(This,lpDDrawDevice,hMonitor)
  28075.  
  28076. #define IVMRSurfaceAllocatorNotify_ChangeDDrawDevice(This,lpDDrawDevice,hMonitor)    \
  28077.     (This)->lpVtbl -> ChangeDDrawDevice(This,lpDDrawDevice,hMonitor)
  28078.  
  28079. #define IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces(This)    \
  28080.     (This)->lpVtbl -> RestoreDDrawSurfaces(This)
  28081.  
  28082. #define IVMRSurfaceAllocatorNotify_NotifyEvent(This,EventCode,Param1,Param2)    \
  28083.     (This)->lpVtbl -> NotifyEvent(This,EventCode,Param1,Param2)
  28084.  
  28085. #define IVMRSurfaceAllocatorNotify_SetBorderColor(This,clrBorder)    \
  28086.     (This)->lpVtbl -> SetBorderColor(This,clrBorder)
  28087.  
  28088. #endif /* COBJMACROS */
  28089.  
  28090.  
  28091. #endif     /* C style interface */
  28092.  
  28093.  
  28094.  
  28095. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Proxy( 
  28096.     IVMRSurfaceAllocatorNotify * This,
  28097.     /* [in] */ DWORD_PTR dwUserID,
  28098.     /* [in] */ IVMRSurfaceAllocator *lpIVRMSurfaceAllocator);
  28099.  
  28100.  
  28101. void __RPC_STUB IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Stub(
  28102.     IRpcStubBuffer *This,
  28103.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28104.     PRPC_MESSAGE _pRpcMessage,
  28105.     DWORD *_pdwStubPhase);
  28106.  
  28107.  
  28108. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_SetDDrawDevice_Proxy( 
  28109.     IVMRSurfaceAllocatorNotify * This,
  28110.     /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  28111.     /* [in] */ HMONITOR hMonitor);
  28112.  
  28113.  
  28114. void __RPC_STUB IVMRSurfaceAllocatorNotify_SetDDrawDevice_Stub(
  28115.     IRpcStubBuffer *This,
  28116.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28117.     PRPC_MESSAGE _pRpcMessage,
  28118.     DWORD *_pdwStubPhase);
  28119.  
  28120.  
  28121. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Proxy( 
  28122.     IVMRSurfaceAllocatorNotify * This,
  28123.     /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  28124.     /* [in] */ HMONITOR hMonitor);
  28125.  
  28126.  
  28127. void __RPC_STUB IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Stub(
  28128.     IRpcStubBuffer *This,
  28129.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28130.     PRPC_MESSAGE _pRpcMessage,
  28131.     DWORD *_pdwStubPhase);
  28132.  
  28133.  
  28134. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Proxy( 
  28135.     IVMRSurfaceAllocatorNotify * This);
  28136.  
  28137.  
  28138. void __RPC_STUB IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Stub(
  28139.     IRpcStubBuffer *This,
  28140.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28141.     PRPC_MESSAGE _pRpcMessage,
  28142.     DWORD *_pdwStubPhase);
  28143.  
  28144.  
  28145. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_NotifyEvent_Proxy( 
  28146.     IVMRSurfaceAllocatorNotify * This,
  28147.     /* [in] */ LONG EventCode,
  28148.     /* [in] */ LONG_PTR Param1,
  28149.     /* [in] */ LONG_PTR Param2);
  28150.  
  28151.  
  28152. void __RPC_STUB IVMRSurfaceAllocatorNotify_NotifyEvent_Stub(
  28153.     IRpcStubBuffer *This,
  28154.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28155.     PRPC_MESSAGE _pRpcMessage,
  28156.     DWORD *_pdwStubPhase);
  28157.  
  28158.  
  28159. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_SetBorderColor_Proxy( 
  28160.     IVMRSurfaceAllocatorNotify * This,
  28161.     /* [in] */ COLORREF clrBorder);
  28162.  
  28163.  
  28164. void __RPC_STUB IVMRSurfaceAllocatorNotify_SetBorderColor_Stub(
  28165.     IRpcStubBuffer *This,
  28166.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28167.     PRPC_MESSAGE _pRpcMessage,
  28168.     DWORD *_pdwStubPhase);
  28169.  
  28170.  
  28171.  
  28172. #endif     /* __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__ */
  28173.  
  28174.  
  28175. /* interface __MIDL_itf_strmif_0393 */
  28176. /* [local] */ 
  28177.  
  28178. typedef /* [public] */ 
  28179. enum __MIDL___MIDL_itf_strmif_0393_0001
  28180.     {    VMR_ARMODE_NONE    = 0,
  28181.     VMR_ARMODE_LETTER_BOX    = VMR_ARMODE_NONE + 1
  28182.     }     VMR_ASPECT_RATIO_MODE;
  28183.  
  28184.  
  28185.  
  28186. extern RPC_IF_HANDLE __MIDL_itf_strmif_0393_v0_0_c_ifspec;
  28187. extern RPC_IF_HANDLE __MIDL_itf_strmif_0393_v0_0_s_ifspec;
  28188.  
  28189. #ifndef __IVMRWindowlessControl_INTERFACE_DEFINED__
  28190. #define __IVMRWindowlessControl_INTERFACE_DEFINED__
  28191.  
  28192. /* interface IVMRWindowlessControl */
  28193. /* [unique][helpstring][uuid][local][object][local] */ 
  28194.  
  28195.  
  28196. EXTERN_C const IID IID_IVMRWindowlessControl;
  28197.  
  28198. #if defined(__cplusplus) && !defined(CINTERFACE)
  28199.     
  28200.     MIDL_INTERFACE("0eb1088c-4dcd-46f0-878f-39dae86a51b7")
  28201.     IVMRWindowlessControl : public IUnknown
  28202.     {
  28203.     public:
  28204.         virtual HRESULT STDMETHODCALLTYPE GetNativeVideoSize( 
  28205.             /* [out] */ LONG *lpWidth,
  28206.             /* [out] */ LONG *lpHeight,
  28207.             /* [out] */ LONG *lpARWidth,
  28208.             /* [out] */ LONG *lpARHeight) = 0;
  28209.         
  28210.         virtual HRESULT STDMETHODCALLTYPE GetMinIdealVideoSize( 
  28211.             /* [out] */ LONG *lpWidth,
  28212.             /* [out] */ LONG *lpHeight) = 0;
  28213.         
  28214.         virtual HRESULT STDMETHODCALLTYPE GetMaxIdealVideoSize( 
  28215.             /* [out] */ LONG *lpWidth,
  28216.             /* [out] */ LONG *lpHeight) = 0;
  28217.         
  28218.         virtual HRESULT STDMETHODCALLTYPE SetVideoPosition( 
  28219.             /* [in] */ const LPRECT lpSRCRect,
  28220.             /* [in] */ const LPRECT lpDSTRect) = 0;
  28221.         
  28222.         virtual HRESULT STDMETHODCALLTYPE GetVideoPosition( 
  28223.             /* [out] */ LPRECT lpSRCRect,
  28224.             /* [out] */ LPRECT lpDSTRect) = 0;
  28225.         
  28226.         virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode( 
  28227.             /* [out] */ DWORD *lpAspectRatioMode) = 0;
  28228.         
  28229.         virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode( 
  28230.             /* [in] */ DWORD AspectRatioMode) = 0;
  28231.         
  28232.         virtual HRESULT STDMETHODCALLTYPE SetVideoClippingWindow( 
  28233.             /* [in] */ HWND hwnd) = 0;
  28234.         
  28235.         virtual HRESULT STDMETHODCALLTYPE RepaintVideo( 
  28236.             /* [in] */ HWND hwnd,
  28237.             /* [in] */ HDC hdc) = 0;
  28238.         
  28239.         virtual HRESULT STDMETHODCALLTYPE DisplayModeChanged( void) = 0;
  28240.         
  28241.         virtual HRESULT STDMETHODCALLTYPE GetCurrentImage( 
  28242.             /* [out] */ BYTE **lpDib) = 0;
  28243.         
  28244.         virtual HRESULT STDMETHODCALLTYPE SetBorderColor( 
  28245.             /* [in] */ COLORREF Clr) = 0;
  28246.         
  28247.         virtual HRESULT STDMETHODCALLTYPE GetBorderColor( 
  28248.             /* [out] */ COLORREF *lpClr) = 0;
  28249.         
  28250.         virtual HRESULT STDMETHODCALLTYPE SetColorKey( 
  28251.             /* [in] */ COLORREF Clr) = 0;
  28252.         
  28253.         virtual HRESULT STDMETHODCALLTYPE GetColorKey( 
  28254.             /* [out] */ COLORREF *lpClr) = 0;
  28255.         
  28256.     };
  28257.     
  28258. #else     /* C style interface */
  28259.  
  28260.     typedef struct IVMRWindowlessControlVtbl
  28261.     {
  28262.         BEGIN_INTERFACE
  28263.         
  28264.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  28265.             IVMRWindowlessControl * This,
  28266.             /* [in] */ REFIID riid,
  28267.             /* [iid_is][out] */ void **ppvObject);
  28268.         
  28269.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  28270.             IVMRWindowlessControl * This);
  28271.         
  28272.         ULONG ( STDMETHODCALLTYPE *Release )( 
  28273.             IVMRWindowlessControl * This);
  28274.         
  28275.         HRESULT ( STDMETHODCALLTYPE *GetNativeVideoSize )( 
  28276.             IVMRWindowlessControl * This,
  28277.             /* [out] */ LONG *lpWidth,
  28278.             /* [out] */ LONG *lpHeight,
  28279.             /* [out] */ LONG *lpARWidth,
  28280.             /* [out] */ LONG *lpARHeight);
  28281.         
  28282.         HRESULT ( STDMETHODCALLTYPE *GetMinIdealVideoSize )( 
  28283.             IVMRWindowlessControl * This,
  28284.             /* [out] */ LONG *lpWidth,
  28285.             /* [out] */ LONG *lpHeight);
  28286.         
  28287.         HRESULT ( STDMETHODCALLTYPE *GetMaxIdealVideoSize )( 
  28288.             IVMRWindowlessControl * This,
  28289.             /* [out] */ LONG *lpWidth,
  28290.             /* [out] */ LONG *lpHeight);
  28291.         
  28292.         HRESULT ( STDMETHODCALLTYPE *SetVideoPosition )( 
  28293.             IVMRWindowlessControl * This,
  28294.             /* [in] */ const LPRECT lpSRCRect,
  28295.             /* [in] */ const LPRECT lpDSTRect);
  28296.         
  28297.         HRESULT ( STDMETHODCALLTYPE *GetVideoPosition )( 
  28298.             IVMRWindowlessControl * This,
  28299.             /* [out] */ LPRECT lpSRCRect,
  28300.             /* [out] */ LPRECT lpDSTRect);
  28301.         
  28302.         HRESULT ( STDMETHODCALLTYPE *GetAspectRatioMode )( 
  28303.             IVMRWindowlessControl * This,
  28304.             /* [out] */ DWORD *lpAspectRatioMode);
  28305.         
  28306.         HRESULT ( STDMETHODCALLTYPE *SetAspectRatioMode )( 
  28307.             IVMRWindowlessControl * This,
  28308.             /* [in] */ DWORD AspectRatioMode);
  28309.         
  28310.         HRESULT ( STDMETHODCALLTYPE *SetVideoClippingWindow )( 
  28311.             IVMRWindowlessControl * This,
  28312.             /* [in] */ HWND hwnd);
  28313.         
  28314.         HRESULT ( STDMETHODCALLTYPE *RepaintVideo )( 
  28315.             IVMRWindowlessControl * This,
  28316.             /* [in] */ HWND hwnd,
  28317.             /* [in] */ HDC hdc);
  28318.         
  28319.         HRESULT ( STDMETHODCALLTYPE *DisplayModeChanged )( 
  28320.             IVMRWindowlessControl * This);
  28321.         
  28322.         HRESULT ( STDMETHODCALLTYPE *GetCurrentImage )( 
  28323.             IVMRWindowlessControl * This,
  28324.             /* [out] */ BYTE **lpDib);
  28325.         
  28326.         HRESULT ( STDMETHODCALLTYPE *SetBorderColor )( 
  28327.             IVMRWindowlessControl * This,
  28328.             /* [in] */ COLORREF Clr);
  28329.         
  28330.         HRESULT ( STDMETHODCALLTYPE *GetBorderColor )( 
  28331.             IVMRWindowlessControl * This,
  28332.             /* [out] */ COLORREF *lpClr);
  28333.         
  28334.         HRESULT ( STDMETHODCALLTYPE *SetColorKey )( 
  28335.             IVMRWindowlessControl * This,
  28336.             /* [in] */ COLORREF Clr);
  28337.         
  28338.         HRESULT ( STDMETHODCALLTYPE *GetColorKey )( 
  28339.             IVMRWindowlessControl * This,
  28340.             /* [out] */ COLORREF *lpClr);
  28341.         
  28342.         END_INTERFACE
  28343.     } IVMRWindowlessControlVtbl;
  28344.  
  28345.     interface IVMRWindowlessControl
  28346.     {
  28347.         CONST_VTBL struct IVMRWindowlessControlVtbl *lpVtbl;
  28348.     };
  28349.  
  28350.     
  28351.  
  28352. #ifdef COBJMACROS
  28353.  
  28354.  
  28355. #define IVMRWindowlessControl_QueryInterface(This,riid,ppvObject)    \
  28356.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  28357.  
  28358. #define IVMRWindowlessControl_AddRef(This)    \
  28359.     (This)->lpVtbl -> AddRef(This)
  28360.  
  28361. #define IVMRWindowlessControl_Release(This)    \
  28362.     (This)->lpVtbl -> Release(This)
  28363.  
  28364.  
  28365. #define IVMRWindowlessControl_GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight)    \
  28366.     (This)->lpVtbl -> GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight)
  28367.  
  28368. #define IVMRWindowlessControl_GetMinIdealVideoSize(This,lpWidth,lpHeight)    \
  28369.     (This)->lpVtbl -> GetMinIdealVideoSize(This,lpWidth,lpHeight)
  28370.  
  28371. #define IVMRWindowlessControl_GetMaxIdealVideoSize(This,lpWidth,lpHeight)    \
  28372.     (This)->lpVtbl -> GetMaxIdealVideoSize(This,lpWidth,lpHeight)
  28373.  
  28374. #define IVMRWindowlessControl_SetVideoPosition(This,lpSRCRect,lpDSTRect)    \
  28375.     (This)->lpVtbl -> SetVideoPosition(This,lpSRCRect,lpDSTRect)
  28376.  
  28377. #define IVMRWindowlessControl_GetVideoPosition(This,lpSRCRect,lpDSTRect)    \
  28378.     (This)->lpVtbl -> GetVideoPosition(This,lpSRCRect,lpDSTRect)
  28379.  
  28380. #define IVMRWindowlessControl_GetAspectRatioMode(This,lpAspectRatioMode)    \
  28381.     (This)->lpVtbl -> GetAspectRatioMode(This,lpAspectRatioMode)
  28382.  
  28383. #define IVMRWindowlessControl_SetAspectRatioMode(This,AspectRatioMode)    \
  28384.     (This)->lpVtbl -> SetAspectRatioMode(This,AspectRatioMode)
  28385.  
  28386. #define IVMRWindowlessControl_SetVideoClippingWindow(This,hwnd)    \
  28387.     (This)->lpVtbl -> SetVideoClippingWindow(This,hwnd)
  28388.  
  28389. #define IVMRWindowlessControl_RepaintVideo(This,hwnd,hdc)    \
  28390.     (This)->lpVtbl -> RepaintVideo(This,hwnd,hdc)
  28391.  
  28392. #define IVMRWindowlessControl_DisplayModeChanged(This)    \
  28393.     (This)->lpVtbl -> DisplayModeChanged(This)
  28394.  
  28395. #define IVMRWindowlessControl_GetCurrentImage(This,lpDib)    \
  28396.     (This)->lpVtbl -> GetCurrentImage(This,lpDib)
  28397.  
  28398. #define IVMRWindowlessControl_SetBorderColor(This,Clr)    \
  28399.     (This)->lpVtbl -> SetBorderColor(This,Clr)
  28400.  
  28401. #define IVMRWindowlessControl_GetBorderColor(This,lpClr)    \
  28402.     (This)->lpVtbl -> GetBorderColor(This,lpClr)
  28403.  
  28404. #define IVMRWindowlessControl_SetColorKey(This,Clr)    \
  28405.     (This)->lpVtbl -> SetColorKey(This,Clr)
  28406.  
  28407. #define IVMRWindowlessControl_GetColorKey(This,lpClr)    \
  28408.     (This)->lpVtbl -> GetColorKey(This,lpClr)
  28409.  
  28410. #endif /* COBJMACROS */
  28411.  
  28412.  
  28413. #endif     /* C style interface */
  28414.  
  28415.  
  28416.  
  28417. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetNativeVideoSize_Proxy( 
  28418.     IVMRWindowlessControl * This,
  28419.     /* [out] */ LONG *lpWidth,
  28420.     /* [out] */ LONG *lpHeight,
  28421.     /* [out] */ LONG *lpARWidth,
  28422.     /* [out] */ LONG *lpARHeight);
  28423.  
  28424.  
  28425. void __RPC_STUB IVMRWindowlessControl_GetNativeVideoSize_Stub(
  28426.     IRpcStubBuffer *This,
  28427.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28428.     PRPC_MESSAGE _pRpcMessage,
  28429.     DWORD *_pdwStubPhase);
  28430.  
  28431.  
  28432. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetMinIdealVideoSize_Proxy( 
  28433.     IVMRWindowlessControl * This,
  28434.     /* [out] */ LONG *lpWidth,
  28435.     /* [out] */ LONG *lpHeight);
  28436.  
  28437.  
  28438. void __RPC_STUB IVMRWindowlessControl_GetMinIdealVideoSize_Stub(
  28439.     IRpcStubBuffer *This,
  28440.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28441.     PRPC_MESSAGE _pRpcMessage,
  28442.     DWORD *_pdwStubPhase);
  28443.  
  28444.  
  28445. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetMaxIdealVideoSize_Proxy( 
  28446.     IVMRWindowlessControl * This,
  28447.     /* [out] */ LONG *lpWidth,
  28448.     /* [out] */ LONG *lpHeight);
  28449.  
  28450.  
  28451. void __RPC_STUB IVMRWindowlessControl_GetMaxIdealVideoSize_Stub(
  28452.     IRpcStubBuffer *This,
  28453.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28454.     PRPC_MESSAGE _pRpcMessage,
  28455.     DWORD *_pdwStubPhase);
  28456.  
  28457.  
  28458. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetVideoPosition_Proxy( 
  28459.     IVMRWindowlessControl * This,
  28460.     /* [in] */ const LPRECT lpSRCRect,
  28461.     /* [in] */ const LPRECT lpDSTRect);
  28462.  
  28463.  
  28464. void __RPC_STUB IVMRWindowlessControl_SetVideoPosition_Stub(
  28465.     IRpcStubBuffer *This,
  28466.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28467.     PRPC_MESSAGE _pRpcMessage,
  28468.     DWORD *_pdwStubPhase);
  28469.  
  28470.  
  28471. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetVideoPosition_Proxy( 
  28472.     IVMRWindowlessControl * This,
  28473.     /* [out] */ LPRECT lpSRCRect,
  28474.     /* [out] */ LPRECT lpDSTRect);
  28475.  
  28476.  
  28477. void __RPC_STUB IVMRWindowlessControl_GetVideoPosition_Stub(
  28478.     IRpcStubBuffer *This,
  28479.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28480.     PRPC_MESSAGE _pRpcMessage,
  28481.     DWORD *_pdwStubPhase);
  28482.  
  28483.  
  28484. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetAspectRatioMode_Proxy( 
  28485.     IVMRWindowlessControl * This,
  28486.     /* [out] */ DWORD *lpAspectRatioMode);
  28487.  
  28488.  
  28489. void __RPC_STUB IVMRWindowlessControl_GetAspectRatioMode_Stub(
  28490.     IRpcStubBuffer *This,
  28491.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28492.     PRPC_MESSAGE _pRpcMessage,
  28493.     DWORD *_pdwStubPhase);
  28494.  
  28495.  
  28496. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetAspectRatioMode_Proxy( 
  28497.     IVMRWindowlessControl * This,
  28498.     /* [in] */ DWORD AspectRatioMode);
  28499.  
  28500.  
  28501. void __RPC_STUB IVMRWindowlessControl_SetAspectRatioMode_Stub(
  28502.     IRpcStubBuffer *This,
  28503.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28504.     PRPC_MESSAGE _pRpcMessage,
  28505.     DWORD *_pdwStubPhase);
  28506.  
  28507.  
  28508. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetVideoClippingWindow_Proxy( 
  28509.     IVMRWindowlessControl * This,
  28510.     /* [in] */ HWND hwnd);
  28511.  
  28512.  
  28513. void __RPC_STUB IVMRWindowlessControl_SetVideoClippingWindow_Stub(
  28514.     IRpcStubBuffer *This,
  28515.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28516.     PRPC_MESSAGE _pRpcMessage,
  28517.     DWORD *_pdwStubPhase);
  28518.  
  28519.  
  28520. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_RepaintVideo_Proxy( 
  28521.     IVMRWindowlessControl * This,
  28522.     /* [in] */ HWND hwnd,
  28523.     /* [in] */ HDC hdc);
  28524.  
  28525.  
  28526. void __RPC_STUB IVMRWindowlessControl_RepaintVideo_Stub(
  28527.     IRpcStubBuffer *This,
  28528.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28529.     PRPC_MESSAGE _pRpcMessage,
  28530.     DWORD *_pdwStubPhase);
  28531.  
  28532.  
  28533. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_DisplayModeChanged_Proxy( 
  28534.     IVMRWindowlessControl * This);
  28535.  
  28536.  
  28537. void __RPC_STUB IVMRWindowlessControl_DisplayModeChanged_Stub(
  28538.     IRpcStubBuffer *This,
  28539.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28540.     PRPC_MESSAGE _pRpcMessage,
  28541.     DWORD *_pdwStubPhase);
  28542.  
  28543.  
  28544. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetCurrentImage_Proxy( 
  28545.     IVMRWindowlessControl * This,
  28546.     /* [out] */ BYTE **lpDib);
  28547.  
  28548.  
  28549. void __RPC_STUB IVMRWindowlessControl_GetCurrentImage_Stub(
  28550.     IRpcStubBuffer *This,
  28551.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28552.     PRPC_MESSAGE _pRpcMessage,
  28553.     DWORD *_pdwStubPhase);
  28554.  
  28555.  
  28556. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetBorderColor_Proxy( 
  28557.     IVMRWindowlessControl * This,
  28558.     /* [in] */ COLORREF Clr);
  28559.  
  28560.  
  28561. void __RPC_STUB IVMRWindowlessControl_SetBorderColor_Stub(
  28562.     IRpcStubBuffer *This,
  28563.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28564.     PRPC_MESSAGE _pRpcMessage,
  28565.     DWORD *_pdwStubPhase);
  28566.  
  28567.  
  28568. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetBorderColor_Proxy( 
  28569.     IVMRWindowlessControl * This,
  28570.     /* [out] */ COLORREF *lpClr);
  28571.  
  28572.  
  28573. void __RPC_STUB IVMRWindowlessControl_GetBorderColor_Stub(
  28574.     IRpcStubBuffer *This,
  28575.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28576.     PRPC_MESSAGE _pRpcMessage,
  28577.     DWORD *_pdwStubPhase);
  28578.  
  28579.  
  28580. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetColorKey_Proxy( 
  28581.     IVMRWindowlessControl * This,
  28582.     /* [in] */ COLORREF Clr);
  28583.  
  28584.  
  28585. void __RPC_STUB IVMRWindowlessControl_SetColorKey_Stub(
  28586.     IRpcStubBuffer *This,
  28587.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28588.     PRPC_MESSAGE _pRpcMessage,
  28589.     DWORD *_pdwStubPhase);
  28590.  
  28591.  
  28592. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetColorKey_Proxy( 
  28593.     IVMRWindowlessControl * This,
  28594.     /* [out] */ COLORREF *lpClr);
  28595.  
  28596.  
  28597. void __RPC_STUB IVMRWindowlessControl_GetColorKey_Stub(
  28598.     IRpcStubBuffer *This,
  28599.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28600.     PRPC_MESSAGE _pRpcMessage,
  28601.     DWORD *_pdwStubPhase);
  28602.  
  28603.  
  28604.  
  28605. #endif     /* __IVMRWindowlessControl_INTERFACE_DEFINED__ */
  28606.  
  28607.  
  28608. /* interface __MIDL_itf_strmif_0394 */
  28609. /* [local] */ 
  28610.  
  28611. typedef /* [public] */ 
  28612. enum __MIDL___MIDL_itf_strmif_0394_0001
  28613.     {    MixerPref_NoDecimation    = 0x1,
  28614.     MixerPref_DecimateOutput    = 0x2,
  28615.     MixerPref_ARAdjustXorY    = 0x4,
  28616.     MixerPref_DecimationReserved    = 0x8,
  28617.     MixerPref_DecimateMask    = 0xf,
  28618.     MixerPref_BiLinearFiltering    = 0x10,
  28619.     MixerPref_PointFiltering    = 0x20,
  28620.     MixerPref_FilteringMask    = 0xf0,
  28621.     MixerPref_RenderTargetRGB    = 0x100,
  28622.     MixerPref_RenderTargetYUV    = 0x1000,
  28623.     MixerPref_RenderTargetYUV420    = 0x200,
  28624.     MixerPref_RenderTargetYUV422    = 0x400,
  28625.     MixerPref_RenderTargetYUV444    = 0x800,
  28626.     MixerPref_RenderTargetReserved    = 0xe000,
  28627.     MixerPref_RenderTargetMask    = 0xff00,
  28628.     MixerPref_DynamicSwitchToBOB    = 0x10000,
  28629.     MixerPref_DynamicDecimateBy2    = 0x20000,
  28630.     MixerPref_DynamicReserved    = 0xc0000,
  28631.     MixerPref_DynamicMask    = 0xf0000
  28632.     }     VMRMixerPrefs;
  28633.  
  28634. typedef struct _NORMALIZEDRECT
  28635.     {
  28636.     float left;
  28637.     float top;
  28638.     float right;
  28639.     float bottom;
  28640.     }     NORMALIZEDRECT;
  28641.  
  28642. typedef struct _NORMALIZEDRECT *PNORMALIZEDRECT;
  28643.  
  28644.  
  28645.  
  28646. extern RPC_IF_HANDLE __MIDL_itf_strmif_0394_v0_0_c_ifspec;
  28647. extern RPC_IF_HANDLE __MIDL_itf_strmif_0394_v0_0_s_ifspec;
  28648.  
  28649. #ifndef __IVMRMixerControl_INTERFACE_DEFINED__
  28650. #define __IVMRMixerControl_INTERFACE_DEFINED__
  28651.  
  28652. /* interface IVMRMixerControl */
  28653. /* [unique][helpstring][uuid][local][object][local] */ 
  28654.  
  28655.  
  28656. EXTERN_C const IID IID_IVMRMixerControl;
  28657.  
  28658. #if defined(__cplusplus) && !defined(CINTERFACE)
  28659.     
  28660.     MIDL_INTERFACE("1c1a17b0-bed0-415d-974b-dc6696131599")
  28661.     IVMRMixerControl : public IUnknown
  28662.     {
  28663.     public:
  28664.         virtual HRESULT STDMETHODCALLTYPE SetAlpha( 
  28665.             /* [in] */ DWORD dwStreamID,
  28666.             /* [in] */ float Alpha) = 0;
  28667.         
  28668.         virtual HRESULT STDMETHODCALLTYPE GetAlpha( 
  28669.             /* [in] */ DWORD dwStreamID,
  28670.             /* [out] */ float *pAlpha) = 0;
  28671.         
  28672.         virtual HRESULT STDMETHODCALLTYPE SetZOrder( 
  28673.             /* [in] */ DWORD dwStreamID,
  28674.             /* [in] */ DWORD dwZ) = 0;
  28675.         
  28676.         virtual HRESULT STDMETHODCALLTYPE GetZOrder( 
  28677.             /* [in] */ DWORD dwStreamID,
  28678.             /* [out] */ DWORD *pZ) = 0;
  28679.         
  28680.         virtual HRESULT STDMETHODCALLTYPE SetOutputRect( 
  28681.             /* [in] */ DWORD dwStreamID,
  28682.             /* [in] */ const NORMALIZEDRECT *pRect) = 0;
  28683.         
  28684.         virtual HRESULT STDMETHODCALLTYPE GetOutputRect( 
  28685.             /* [in] */ DWORD dwStreamID,
  28686.             /* [out] */ NORMALIZEDRECT *pRect) = 0;
  28687.         
  28688.         virtual HRESULT STDMETHODCALLTYPE SetBackgroundClr( 
  28689.             /* [in] */ COLORREF ClrBkg) = 0;
  28690.         
  28691.         virtual HRESULT STDMETHODCALLTYPE GetBackgroundClr( 
  28692.             /* [in] */ COLORREF *lpClrBkg) = 0;
  28693.         
  28694.         virtual HRESULT STDMETHODCALLTYPE SetMixingPrefs( 
  28695.             /* [in] */ DWORD dwMixerPrefs) = 0;
  28696.         
  28697.         virtual HRESULT STDMETHODCALLTYPE GetMixingPrefs( 
  28698.             /* [out] */ DWORD *pdwMixerPrefs) = 0;
  28699.         
  28700.     };
  28701.     
  28702. #else     /* C style interface */
  28703.  
  28704.     typedef struct IVMRMixerControlVtbl
  28705.     {
  28706.         BEGIN_INTERFACE
  28707.         
  28708.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  28709.             IVMRMixerControl * This,
  28710.             /* [in] */ REFIID riid,
  28711.             /* [iid_is][out] */ void **ppvObject);
  28712.         
  28713.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  28714.             IVMRMixerControl * This);
  28715.         
  28716.         ULONG ( STDMETHODCALLTYPE *Release )( 
  28717.             IVMRMixerControl * This);
  28718.         
  28719.         HRESULT ( STDMETHODCALLTYPE *SetAlpha )( 
  28720.             IVMRMixerControl * This,
  28721.             /* [in] */ DWORD dwStreamID,
  28722.             /* [in] */ float Alpha);
  28723.         
  28724.         HRESULT ( STDMETHODCALLTYPE *GetAlpha )( 
  28725.             IVMRMixerControl * This,
  28726.             /* [in] */ DWORD dwStreamID,
  28727.             /* [out] */ float *pAlpha);
  28728.         
  28729.         HRESULT ( STDMETHODCALLTYPE *SetZOrder )( 
  28730.             IVMRMixerControl * This,
  28731.             /* [in] */ DWORD dwStreamID,
  28732.             /* [in] */ DWORD dwZ);
  28733.         
  28734.         HRESULT ( STDMETHODCALLTYPE *GetZOrder )( 
  28735.             IVMRMixerControl * This,
  28736.             /* [in] */ DWORD dwStreamID,
  28737.             /* [out] */ DWORD *pZ);
  28738.         
  28739.         HRESULT ( STDMETHODCALLTYPE *SetOutputRect )( 
  28740.             IVMRMixerControl * This,
  28741.             /* [in] */ DWORD dwStreamID,
  28742.             /* [in] */ const NORMALIZEDRECT *pRect);
  28743.         
  28744.         HRESULT ( STDMETHODCALLTYPE *GetOutputRect )( 
  28745.             IVMRMixerControl * This,
  28746.             /* [in] */ DWORD dwStreamID,
  28747.             /* [out] */ NORMALIZEDRECT *pRect);
  28748.         
  28749.         HRESULT ( STDMETHODCALLTYPE *SetBackgroundClr )( 
  28750.             IVMRMixerControl * This,
  28751.             /* [in] */ COLORREF ClrBkg);
  28752.         
  28753.         HRESULT ( STDMETHODCALLTYPE *GetBackgroundClr )( 
  28754.             IVMRMixerControl * This,
  28755.             /* [in] */ COLORREF *lpClrBkg);
  28756.         
  28757.         HRESULT ( STDMETHODCALLTYPE *SetMixingPrefs )( 
  28758.             IVMRMixerControl * This,
  28759.             /* [in] */ DWORD dwMixerPrefs);
  28760.         
  28761.         HRESULT ( STDMETHODCALLTYPE *GetMixingPrefs )( 
  28762.             IVMRMixerControl * This,
  28763.             /* [out] */ DWORD *pdwMixerPrefs);
  28764.         
  28765.         END_INTERFACE
  28766.     } IVMRMixerControlVtbl;
  28767.  
  28768.     interface IVMRMixerControl
  28769.     {
  28770.         CONST_VTBL struct IVMRMixerControlVtbl *lpVtbl;
  28771.     };
  28772.  
  28773.     
  28774.  
  28775. #ifdef COBJMACROS
  28776.  
  28777.  
  28778. #define IVMRMixerControl_QueryInterface(This,riid,ppvObject)    \
  28779.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  28780.  
  28781. #define IVMRMixerControl_AddRef(This)    \
  28782.     (This)->lpVtbl -> AddRef(This)
  28783.  
  28784. #define IVMRMixerControl_Release(This)    \
  28785.     (This)->lpVtbl -> Release(This)
  28786.  
  28787.  
  28788. #define IVMRMixerControl_SetAlpha(This,dwStreamID,Alpha)    \
  28789.     (This)->lpVtbl -> SetAlpha(This,dwStreamID,Alpha)
  28790.  
  28791. #define IVMRMixerControl_GetAlpha(This,dwStreamID,pAlpha)    \
  28792.     (This)->lpVtbl -> GetAlpha(This,dwStreamID,pAlpha)
  28793.  
  28794. #define IVMRMixerControl_SetZOrder(This,dwStreamID,dwZ)    \
  28795.     (This)->lpVtbl -> SetZOrder(This,dwStreamID,dwZ)
  28796.  
  28797. #define IVMRMixerControl_GetZOrder(This,dwStreamID,pZ)    \
  28798.     (This)->lpVtbl -> GetZOrder(This,dwStreamID,pZ)
  28799.  
  28800. #define IVMRMixerControl_SetOutputRect(This,dwStreamID,pRect)    \
  28801.     (This)->lpVtbl -> SetOutputRect(This,dwStreamID,pRect)
  28802.  
  28803. #define IVMRMixerControl_GetOutputRect(This,dwStreamID,pRect)    \
  28804.     (This)->lpVtbl -> GetOutputRect(This,dwStreamID,pRect)
  28805.  
  28806. #define IVMRMixerControl_SetBackgroundClr(This,ClrBkg)    \
  28807.     (This)->lpVtbl -> SetBackgroundClr(This,ClrBkg)
  28808.  
  28809. #define IVMRMixerControl_GetBackgroundClr(This,lpClrBkg)    \
  28810.     (This)->lpVtbl -> GetBackgroundClr(This,lpClrBkg)
  28811.  
  28812. #define IVMRMixerControl_SetMixingPrefs(This,dwMixerPrefs)    \
  28813.     (This)->lpVtbl -> SetMixingPrefs(This,dwMixerPrefs)
  28814.  
  28815. #define IVMRMixerControl_GetMixingPrefs(This,pdwMixerPrefs)    \
  28816.     (This)->lpVtbl -> GetMixingPrefs(This,pdwMixerPrefs)
  28817.  
  28818. #endif /* COBJMACROS */
  28819.  
  28820.  
  28821. #endif     /* C style interface */
  28822.  
  28823.  
  28824.  
  28825. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetAlpha_Proxy( 
  28826.     IVMRMixerControl * This,
  28827.     /* [in] */ DWORD dwStreamID,
  28828.     /* [in] */ float Alpha);
  28829.  
  28830.  
  28831. void __RPC_STUB IVMRMixerControl_SetAlpha_Stub(
  28832.     IRpcStubBuffer *This,
  28833.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28834.     PRPC_MESSAGE _pRpcMessage,
  28835.     DWORD *_pdwStubPhase);
  28836.  
  28837.  
  28838. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetAlpha_Proxy( 
  28839.     IVMRMixerControl * This,
  28840.     /* [in] */ DWORD dwStreamID,
  28841.     /* [out] */ float *pAlpha);
  28842.  
  28843.  
  28844. void __RPC_STUB IVMRMixerControl_GetAlpha_Stub(
  28845.     IRpcStubBuffer *This,
  28846.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28847.     PRPC_MESSAGE _pRpcMessage,
  28848.     DWORD *_pdwStubPhase);
  28849.  
  28850.  
  28851. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetZOrder_Proxy( 
  28852.     IVMRMixerControl * This,
  28853.     /* [in] */ DWORD dwStreamID,
  28854.     /* [in] */ DWORD dwZ);
  28855.  
  28856.  
  28857. void __RPC_STUB IVMRMixerControl_SetZOrder_Stub(
  28858.     IRpcStubBuffer *This,
  28859.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28860.     PRPC_MESSAGE _pRpcMessage,
  28861.     DWORD *_pdwStubPhase);
  28862.  
  28863.  
  28864. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetZOrder_Proxy( 
  28865.     IVMRMixerControl * This,
  28866.     /* [in] */ DWORD dwStreamID,
  28867.     /* [out] */ DWORD *pZ);
  28868.  
  28869.  
  28870. void __RPC_STUB IVMRMixerControl_GetZOrder_Stub(
  28871.     IRpcStubBuffer *This,
  28872.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28873.     PRPC_MESSAGE _pRpcMessage,
  28874.     DWORD *_pdwStubPhase);
  28875.  
  28876.  
  28877. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetOutputRect_Proxy( 
  28878.     IVMRMixerControl * This,
  28879.     /* [in] */ DWORD dwStreamID,
  28880.     /* [in] */ const NORMALIZEDRECT *pRect);
  28881.  
  28882.  
  28883. void __RPC_STUB IVMRMixerControl_SetOutputRect_Stub(
  28884.     IRpcStubBuffer *This,
  28885.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28886.     PRPC_MESSAGE _pRpcMessage,
  28887.     DWORD *_pdwStubPhase);
  28888.  
  28889.  
  28890. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetOutputRect_Proxy( 
  28891.     IVMRMixerControl * This,
  28892.     /* [in] */ DWORD dwStreamID,
  28893.     /* [out] */ NORMALIZEDRECT *pRect);
  28894.  
  28895.  
  28896. void __RPC_STUB IVMRMixerControl_GetOutputRect_Stub(
  28897.     IRpcStubBuffer *This,
  28898.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28899.     PRPC_MESSAGE _pRpcMessage,
  28900.     DWORD *_pdwStubPhase);
  28901.  
  28902.  
  28903. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetBackgroundClr_Proxy( 
  28904.     IVMRMixerControl * This,
  28905.     /* [in] */ COLORREF ClrBkg);
  28906.  
  28907.  
  28908. void __RPC_STUB IVMRMixerControl_SetBackgroundClr_Stub(
  28909.     IRpcStubBuffer *This,
  28910.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28911.     PRPC_MESSAGE _pRpcMessage,
  28912.     DWORD *_pdwStubPhase);
  28913.  
  28914.  
  28915. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetBackgroundClr_Proxy( 
  28916.     IVMRMixerControl * This,
  28917.     /* [in] */ COLORREF *lpClrBkg);
  28918.  
  28919.  
  28920. void __RPC_STUB IVMRMixerControl_GetBackgroundClr_Stub(
  28921.     IRpcStubBuffer *This,
  28922.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28923.     PRPC_MESSAGE _pRpcMessage,
  28924.     DWORD *_pdwStubPhase);
  28925.  
  28926.  
  28927. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetMixingPrefs_Proxy( 
  28928.     IVMRMixerControl * This,
  28929.     /* [in] */ DWORD dwMixerPrefs);
  28930.  
  28931.  
  28932. void __RPC_STUB IVMRMixerControl_SetMixingPrefs_Stub(
  28933.     IRpcStubBuffer *This,
  28934.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28935.     PRPC_MESSAGE _pRpcMessage,
  28936.     DWORD *_pdwStubPhase);
  28937.  
  28938.  
  28939. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetMixingPrefs_Proxy( 
  28940.     IVMRMixerControl * This,
  28941.     /* [out] */ DWORD *pdwMixerPrefs);
  28942.  
  28943.  
  28944. void __RPC_STUB IVMRMixerControl_GetMixingPrefs_Stub(
  28945.     IRpcStubBuffer *This,
  28946.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28947.     PRPC_MESSAGE _pRpcMessage,
  28948.     DWORD *_pdwStubPhase);
  28949.  
  28950.  
  28951.  
  28952. #endif     /* __IVMRMixerControl_INTERFACE_DEFINED__ */
  28953.  
  28954.  
  28955. /* interface __MIDL_itf_strmif_0395 */
  28956. /* [local] */ 
  28957.  
  28958. typedef struct tagVMRGUID
  28959.     {
  28960.     GUID *pGUID;
  28961.     GUID GUID;
  28962.     }     VMRGUID;
  28963.  
  28964. typedef struct tagVMRMONITORINFO
  28965.     {
  28966.     VMRGUID guid;
  28967.     RECT rcMonitor;
  28968.     HMONITOR hMon;
  28969.     DWORD dwFlags;
  28970.     wchar_t szDevice[ 32 ];
  28971.     wchar_t szDescription[ 256 ];
  28972.     LARGE_INTEGER liDriverVersion;
  28973.     DWORD dwVendorId;
  28974.     DWORD dwDeviceId;
  28975.     DWORD dwSubSysId;
  28976.     DWORD dwRevision;
  28977.     }     VMRMONITORINFO;
  28978.  
  28979.  
  28980.  
  28981. extern RPC_IF_HANDLE __MIDL_itf_strmif_0395_v0_0_c_ifspec;
  28982. extern RPC_IF_HANDLE __MIDL_itf_strmif_0395_v0_0_s_ifspec;
  28983.  
  28984. #ifndef __IVMRMonitorConfig_INTERFACE_DEFINED__
  28985. #define __IVMRMonitorConfig_INTERFACE_DEFINED__
  28986.  
  28987. /* interface IVMRMonitorConfig */
  28988. /* [unique][helpstring][uuid][local][object] */ 
  28989.  
  28990.  
  28991. EXTERN_C const IID IID_IVMRMonitorConfig;
  28992.  
  28993. #if defined(__cplusplus) && !defined(CINTERFACE)
  28994.     
  28995.     MIDL_INTERFACE("9cf0b1b6-fbaa-4b7f-88cf-cf1f130a0dce")
  28996.     IVMRMonitorConfig : public IUnknown
  28997.     {
  28998.     public:
  28999.         virtual HRESULT STDMETHODCALLTYPE SetMonitor( 
  29000.             /* [in] */ const VMRGUID *pGUID) = 0;
  29001.         
  29002.         virtual HRESULT STDMETHODCALLTYPE GetMonitor( 
  29003.             /* [out] */ VMRGUID *pGUID) = 0;
  29004.         
  29005.         virtual HRESULT STDMETHODCALLTYPE SetDefaultMonitor( 
  29006.             /* [in] */ const VMRGUID *pGUID) = 0;
  29007.         
  29008.         virtual HRESULT STDMETHODCALLTYPE GetDefaultMonitor( 
  29009.             /* [out] */ VMRGUID *pGUID) = 0;
  29010.         
  29011.         virtual HRESULT STDMETHODCALLTYPE GetAvailableMonitors( 
  29012.             /* [size_is][out] */ VMRMONITORINFO *pInfo,
  29013.             /* [in] */ DWORD dwMaxInfoArraySize,
  29014.             /* [out] */ DWORD *pdwNumDevices) = 0;
  29015.         
  29016.     };
  29017.     
  29018. #else     /* C style interface */
  29019.  
  29020.     typedef struct IVMRMonitorConfigVtbl
  29021.     {
  29022.         BEGIN_INTERFACE
  29023.         
  29024.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  29025.             IVMRMonitorConfig * This,
  29026.             /* [in] */ REFIID riid,
  29027.             /* [iid_is][out] */ void **ppvObject);
  29028.         
  29029.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  29030.             IVMRMonitorConfig * This);
  29031.         
  29032.         ULONG ( STDMETHODCALLTYPE *Release )( 
  29033.             IVMRMonitorConfig * This);
  29034.         
  29035.         HRESULT ( STDMETHODCALLTYPE *SetMonitor )( 
  29036.             IVMRMonitorConfig * This,
  29037.             /* [in] */ const VMRGUID *pGUID);
  29038.         
  29039.         HRESULT ( STDMETHODCALLTYPE *GetMonitor )( 
  29040.             IVMRMonitorConfig * This,
  29041.             /* [out] */ VMRGUID *pGUID);
  29042.         
  29043.         HRESULT ( STDMETHODCALLTYPE *SetDefaultMonitor )( 
  29044.             IVMRMonitorConfig * This,
  29045.             /* [in] */ const VMRGUID *pGUID);
  29046.         
  29047.         HRESULT ( STDMETHODCALLTYPE *GetDefaultMonitor )( 
  29048.             IVMRMonitorConfig * This,
  29049.             /* [out] */ VMRGUID *pGUID);
  29050.         
  29051.         HRESULT ( STDMETHODCALLTYPE *GetAvailableMonitors )( 
  29052.             IVMRMonitorConfig * This,
  29053.             /* [size_is][out] */ VMRMONITORINFO *pInfo,
  29054.             /* [in] */ DWORD dwMaxInfoArraySize,
  29055.             /* [out] */ DWORD *pdwNumDevices);
  29056.         
  29057.         END_INTERFACE
  29058.     } IVMRMonitorConfigVtbl;
  29059.  
  29060.     interface IVMRMonitorConfig
  29061.     {
  29062.         CONST_VTBL struct IVMRMonitorConfigVtbl *lpVtbl;
  29063.     };
  29064.  
  29065.     
  29066.  
  29067. #ifdef COBJMACROS
  29068.  
  29069.  
  29070. #define IVMRMonitorConfig_QueryInterface(This,riid,ppvObject)    \
  29071.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  29072.  
  29073. #define IVMRMonitorConfig_AddRef(This)    \
  29074.     (This)->lpVtbl -> AddRef(This)
  29075.  
  29076. #define IVMRMonitorConfig_Release(This)    \
  29077.     (This)->lpVtbl -> Release(This)
  29078.  
  29079.  
  29080. #define IVMRMonitorConfig_SetMonitor(This,pGUID)    \
  29081.     (This)->lpVtbl -> SetMonitor(This,pGUID)
  29082.  
  29083. #define IVMRMonitorConfig_GetMonitor(This,pGUID)    \
  29084.     (This)->lpVtbl -> GetMonitor(This,pGUID)
  29085.  
  29086. #define IVMRMonitorConfig_SetDefaultMonitor(This,pGUID)    \
  29087.     (This)->lpVtbl -> SetDefaultMonitor(This,pGUID)
  29088.  
  29089. #define IVMRMonitorConfig_GetDefaultMonitor(This,pGUID)    \
  29090.     (This)->lpVtbl -> GetDefaultMonitor(This,pGUID)
  29091.  
  29092. #define IVMRMonitorConfig_GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices)    \
  29093.     (This)->lpVtbl -> GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices)
  29094.  
  29095. #endif /* COBJMACROS */
  29096.  
  29097.  
  29098. #endif     /* C style interface */
  29099.  
  29100.  
  29101.  
  29102. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_SetMonitor_Proxy( 
  29103.     IVMRMonitorConfig * This,
  29104.     /* [in] */ const VMRGUID *pGUID);
  29105.  
  29106.  
  29107. void __RPC_STUB IVMRMonitorConfig_SetMonitor_Stub(
  29108.     IRpcStubBuffer *This,
  29109.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29110.     PRPC_MESSAGE _pRpcMessage,
  29111.     DWORD *_pdwStubPhase);
  29112.  
  29113.  
  29114. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_GetMonitor_Proxy( 
  29115.     IVMRMonitorConfig * This,
  29116.     /* [out] */ VMRGUID *pGUID);
  29117.  
  29118.  
  29119. void __RPC_STUB IVMRMonitorConfig_GetMonitor_Stub(
  29120.     IRpcStubBuffer *This,
  29121.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29122.     PRPC_MESSAGE _pRpcMessage,
  29123.     DWORD *_pdwStubPhase);
  29124.  
  29125.  
  29126. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_SetDefaultMonitor_Proxy( 
  29127.     IVMRMonitorConfig * This,
  29128.     /* [in] */ const VMRGUID *pGUID);
  29129.  
  29130.  
  29131. void __RPC_STUB IVMRMonitorConfig_SetDefaultMonitor_Stub(
  29132.     IRpcStubBuffer *This,
  29133.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29134.     PRPC_MESSAGE _pRpcMessage,
  29135.     DWORD *_pdwStubPhase);
  29136.  
  29137.  
  29138. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_GetDefaultMonitor_Proxy( 
  29139.     IVMRMonitorConfig * This,
  29140.     /* [out] */ VMRGUID *pGUID);
  29141.  
  29142.  
  29143. void __RPC_STUB IVMRMonitorConfig_GetDefaultMonitor_Stub(
  29144.     IRpcStubBuffer *This,
  29145.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29146.     PRPC_MESSAGE _pRpcMessage,
  29147.     DWORD *_pdwStubPhase);
  29148.  
  29149.  
  29150. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_GetAvailableMonitors_Proxy( 
  29151.     IVMRMonitorConfig * This,
  29152.     /* [size_is][out] */ VMRMONITORINFO *pInfo,
  29153.     /* [in] */ DWORD dwMaxInfoArraySize,
  29154.     /* [out] */ DWORD *pdwNumDevices);
  29155.  
  29156.  
  29157. void __RPC_STUB IVMRMonitorConfig_GetAvailableMonitors_Stub(
  29158.     IRpcStubBuffer *This,
  29159.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29160.     PRPC_MESSAGE _pRpcMessage,
  29161.     DWORD *_pdwStubPhase);
  29162.  
  29163.  
  29164.  
  29165. #endif     /* __IVMRMonitorConfig_INTERFACE_DEFINED__ */
  29166.  
  29167.  
  29168. /* interface __MIDL_itf_strmif_0396 */
  29169. /* [local] */ 
  29170.  
  29171. typedef /* [public] */ 
  29172. enum __MIDL___MIDL_itf_strmif_0396_0001
  29173.     {    RenderPrefs_RestrictToInitialMonitor    = 0,
  29174.     RenderPrefs_ForceOffscreen    = 0x1,
  29175.     RenderPrefs_ForceOverlays    = 0x2,
  29176.     RenderPrefs_AllowOverlays    = 0,
  29177.     RenderPrefs_AllowOffscreen    = 0,
  29178.     RenderPrefs_DoNotRenderColorKeyAndBorder    = 0x8,
  29179.     RenderPrefs_Reserved    = 0x10,
  29180.     RenderPrefs_PreferAGPMemWhenMixing    = 0x20,
  29181.     RenderPrefs_Mask    = 0x3f
  29182.     }     VMRRenderPrefs;
  29183.  
  29184. typedef /* [public] */ 
  29185. enum __MIDL___MIDL_itf_strmif_0396_0002
  29186.     {    VMRMode_Windowed    = 0x1,
  29187.     VMRMode_Windowless    = 0x2,
  29188.     VMRMode_Renderless    = 0x4,
  29189.     VMRMode_Mask    = 0x7
  29190.     }     VMRMode;
  29191.  
  29192.  
  29193. enum __MIDL___MIDL_itf_strmif_0396_0003
  29194.     {    MAX_NUMBER_OF_STREAMS    = 16
  29195.     } ;
  29196.  
  29197.  
  29198. extern RPC_IF_HANDLE __MIDL_itf_strmif_0396_v0_0_c_ifspec;
  29199. extern RPC_IF_HANDLE __MIDL_itf_strmif_0396_v0_0_s_ifspec;
  29200.  
  29201. #ifndef __IVMRFilterConfig_INTERFACE_DEFINED__
  29202. #define __IVMRFilterConfig_INTERFACE_DEFINED__
  29203.  
  29204. /* interface IVMRFilterConfig */
  29205. /* [unique][helpstring][uuid][local][object] */ 
  29206.  
  29207.  
  29208. EXTERN_C const IID IID_IVMRFilterConfig;
  29209.  
  29210. #if defined(__cplusplus) && !defined(CINTERFACE)
  29211.     
  29212.     MIDL_INTERFACE("9e5530c5-7034-48b4-bb46-0b8a6efc8e36")
  29213.     IVMRFilterConfig : public IUnknown
  29214.     {
  29215.     public:
  29216.         virtual HRESULT STDMETHODCALLTYPE SetImageCompositor( 
  29217.             /* [in] */ IVMRImageCompositor *lpVMRImgCompositor) = 0;
  29218.         
  29219.         virtual HRESULT STDMETHODCALLTYPE SetNumberOfStreams( 
  29220.             /* [in] */ DWORD dwMaxStreams) = 0;
  29221.         
  29222.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfStreams( 
  29223.             /* [out] */ DWORD *pdwMaxStreams) = 0;
  29224.         
  29225.         virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs( 
  29226.             /* [in] */ DWORD dwRenderFlags) = 0;
  29227.         
  29228.         virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs( 
  29229.             /* [out] */ DWORD *pdwRenderFlags) = 0;
  29230.         
  29231.         virtual HRESULT STDMETHODCALLTYPE SetRenderingMode( 
  29232.             /* [in] */ DWORD Mode) = 0;
  29233.         
  29234.         virtual HRESULT STDMETHODCALLTYPE GetRenderingMode( 
  29235.             /* [out] */ DWORD *pMode) = 0;
  29236.         
  29237.     };
  29238.     
  29239. #else     /* C style interface */
  29240.  
  29241.     typedef struct IVMRFilterConfigVtbl
  29242.     {
  29243.         BEGIN_INTERFACE
  29244.         
  29245.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  29246.             IVMRFilterConfig * This,
  29247.             /* [in] */ REFIID riid,
  29248.             /* [iid_is][out] */ void **ppvObject);
  29249.         
  29250.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  29251.             IVMRFilterConfig * This);
  29252.         
  29253.         ULONG ( STDMETHODCALLTYPE *Release )( 
  29254.             IVMRFilterConfig * This);
  29255.         
  29256.         HRESULT ( STDMETHODCALLTYPE *SetImageCompositor )( 
  29257.             IVMRFilterConfig * This,
  29258.             /* [in] */ IVMRImageCompositor *lpVMRImgCompositor);
  29259.         
  29260.         HRESULT ( STDMETHODCALLTYPE *SetNumberOfStreams )( 
  29261.             IVMRFilterConfig * This,
  29262.             /* [in] */ DWORD dwMaxStreams);
  29263.         
  29264.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfStreams )( 
  29265.             IVMRFilterConfig * This,
  29266.             /* [out] */ DWORD *pdwMaxStreams);
  29267.         
  29268.         HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )( 
  29269.             IVMRFilterConfig * This,
  29270.             /* [in] */ DWORD dwRenderFlags);
  29271.         
  29272.         HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )( 
  29273.             IVMRFilterConfig * This,
  29274.             /* [out] */ DWORD *pdwRenderFlags);
  29275.         
  29276.         HRESULT ( STDMETHODCALLTYPE *SetRenderingMode )( 
  29277.             IVMRFilterConfig * This,
  29278.             /* [in] */ DWORD Mode);
  29279.         
  29280.         HRESULT ( STDMETHODCALLTYPE *GetRenderingMode )( 
  29281.             IVMRFilterConfig * This,
  29282.             /* [out] */ DWORD *pMode);
  29283.         
  29284.         END_INTERFACE
  29285.     } IVMRFilterConfigVtbl;
  29286.  
  29287.     interface IVMRFilterConfig
  29288.     {
  29289.         CONST_VTBL struct IVMRFilterConfigVtbl *lpVtbl;
  29290.     };
  29291.  
  29292.     
  29293.  
  29294. #ifdef COBJMACROS
  29295.  
  29296.  
  29297. #define IVMRFilterConfig_QueryInterface(This,riid,ppvObject)    \
  29298.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  29299.  
  29300. #define IVMRFilterConfig_AddRef(This)    \
  29301.     (This)->lpVtbl -> AddRef(This)
  29302.  
  29303. #define IVMRFilterConfig_Release(This)    \
  29304.     (This)->lpVtbl -> Release(This)
  29305.  
  29306.  
  29307. #define IVMRFilterConfig_SetImageCompositor(This,lpVMRImgCompositor)    \
  29308.     (This)->lpVtbl -> SetImageCompositor(This,lpVMRImgCompositor)
  29309.  
  29310. #define IVMRFilterConfig_SetNumberOfStreams(This,dwMaxStreams)    \
  29311.     (This)->lpVtbl -> SetNumberOfStreams(This,dwMaxStreams)
  29312.  
  29313. #define IVMRFilterConfig_GetNumberOfStreams(This,pdwMaxStreams)    \
  29314.     (This)->lpVtbl -> GetNumberOfStreams(This,pdwMaxStreams)
  29315.  
  29316. #define IVMRFilterConfig_SetRenderingPrefs(This,dwRenderFlags)    \
  29317.     (This)->lpVtbl -> SetRenderingPrefs(This,dwRenderFlags)
  29318.  
  29319. #define IVMRFilterConfig_GetRenderingPrefs(This,pdwRenderFlags)    \
  29320.     (This)->lpVtbl -> GetRenderingPrefs(This,pdwRenderFlags)
  29321.  
  29322. #define IVMRFilterConfig_SetRenderingMode(This,Mode)    \
  29323.     (This)->lpVtbl -> SetRenderingMode(This,Mode)
  29324.  
  29325. #define IVMRFilterConfig_GetRenderingMode(This,pMode)    \
  29326.     (This)->lpVtbl -> GetRenderingMode(This,pMode)
  29327.  
  29328. #endif /* COBJMACROS */
  29329.  
  29330.  
  29331. #endif     /* C style interface */
  29332.  
  29333.  
  29334.  
  29335. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetImageCompositor_Proxy( 
  29336.     IVMRFilterConfig * This,
  29337.     /* [in] */ IVMRImageCompositor *lpVMRImgCompositor);
  29338.  
  29339.  
  29340. void __RPC_STUB IVMRFilterConfig_SetImageCompositor_Stub(
  29341.     IRpcStubBuffer *This,
  29342.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29343.     PRPC_MESSAGE _pRpcMessage,
  29344.     DWORD *_pdwStubPhase);
  29345.  
  29346.  
  29347. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetNumberOfStreams_Proxy( 
  29348.     IVMRFilterConfig * This,
  29349.     /* [in] */ DWORD dwMaxStreams);
  29350.  
  29351.  
  29352. void __RPC_STUB IVMRFilterConfig_SetNumberOfStreams_Stub(
  29353.     IRpcStubBuffer *This,
  29354.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29355.     PRPC_MESSAGE _pRpcMessage,
  29356.     DWORD *_pdwStubPhase);
  29357.  
  29358.  
  29359. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_GetNumberOfStreams_Proxy( 
  29360.     IVMRFilterConfig * This,
  29361.     /* [out] */ DWORD *pdwMaxStreams);
  29362.  
  29363.  
  29364. void __RPC_STUB IVMRFilterConfig_GetNumberOfStreams_Stub(
  29365.     IRpcStubBuffer *This,
  29366.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29367.     PRPC_MESSAGE _pRpcMessage,
  29368.     DWORD *_pdwStubPhase);
  29369.  
  29370.  
  29371. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetRenderingPrefs_Proxy( 
  29372.     IVMRFilterConfig * This,
  29373.     /* [in] */ DWORD dwRenderFlags);
  29374.  
  29375.  
  29376. void __RPC_STUB IVMRFilterConfig_SetRenderingPrefs_Stub(
  29377.     IRpcStubBuffer *This,
  29378.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29379.     PRPC_MESSAGE _pRpcMessage,
  29380.     DWORD *_pdwStubPhase);
  29381.  
  29382.  
  29383. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_GetRenderingPrefs_Proxy( 
  29384.     IVMRFilterConfig * This,
  29385.     /* [out] */ DWORD *pdwRenderFlags);
  29386.  
  29387.  
  29388. void __RPC_STUB IVMRFilterConfig_GetRenderingPrefs_Stub(
  29389.     IRpcStubBuffer *This,
  29390.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29391.     PRPC_MESSAGE _pRpcMessage,
  29392.     DWORD *_pdwStubPhase);
  29393.  
  29394.  
  29395. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetRenderingMode_Proxy( 
  29396.     IVMRFilterConfig * This,
  29397.     /* [in] */ DWORD Mode);
  29398.  
  29399.  
  29400. void __RPC_STUB IVMRFilterConfig_SetRenderingMode_Stub(
  29401.     IRpcStubBuffer *This,
  29402.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29403.     PRPC_MESSAGE _pRpcMessage,
  29404.     DWORD *_pdwStubPhase);
  29405.  
  29406.  
  29407. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_GetRenderingMode_Proxy( 
  29408.     IVMRFilterConfig * This,
  29409.     /* [out] */ DWORD *pMode);
  29410.  
  29411.  
  29412. void __RPC_STUB IVMRFilterConfig_GetRenderingMode_Stub(
  29413.     IRpcStubBuffer *This,
  29414.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29415.     PRPC_MESSAGE _pRpcMessage,
  29416.     DWORD *_pdwStubPhase);
  29417.  
  29418.  
  29419.  
  29420. #endif     /* __IVMRFilterConfig_INTERFACE_DEFINED__ */
  29421.  
  29422.  
  29423. #ifndef __IVMRAspectRatioControl_INTERFACE_DEFINED__
  29424. #define __IVMRAspectRatioControl_INTERFACE_DEFINED__
  29425.  
  29426. /* interface IVMRAspectRatioControl */
  29427. /* [unique][helpstring][uuid][local][object] */ 
  29428.  
  29429.  
  29430. EXTERN_C const IID IID_IVMRAspectRatioControl;
  29431.  
  29432. #if defined(__cplusplus) && !defined(CINTERFACE)
  29433.     
  29434.     MIDL_INTERFACE("ede80b5c-bad6-4623-b537-65586c9f8dfd")
  29435.     IVMRAspectRatioControl : public IUnknown
  29436.     {
  29437.     public:
  29438.         virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode( 
  29439.             /* [out] */ LPDWORD lpdwARMode) = 0;
  29440.         
  29441.         virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode( 
  29442.             /* [in] */ DWORD dwARMode) = 0;
  29443.         
  29444.     };
  29445.     
  29446. #else     /* C style interface */
  29447.  
  29448.     typedef struct IVMRAspectRatioControlVtbl
  29449.     {
  29450.         BEGIN_INTERFACE
  29451.         
  29452.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  29453.             IVMRAspectRatioControl * This,
  29454.             /* [in] */ REFIID riid,
  29455.             /* [iid_is][out] */ void **ppvObject);
  29456.         
  29457.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  29458.             IVMRAspectRatioControl * This);
  29459.         
  29460.         ULONG ( STDMETHODCALLTYPE *Release )( 
  29461.             IVMRAspectRatioControl * This);
  29462.         
  29463.         HRESULT ( STDMETHODCALLTYPE *GetAspectRatioMode )( 
  29464.             IVMRAspectRatioControl * This,
  29465.             /* [out] */ LPDWORD lpdwARMode);
  29466.         
  29467.         HRESULT ( STDMETHODCALLTYPE *SetAspectRatioMode )( 
  29468.             IVMRAspectRatioControl * This,
  29469.             /* [in] */ DWORD dwARMode);
  29470.         
  29471.         END_INTERFACE
  29472.     } IVMRAspectRatioControlVtbl;
  29473.  
  29474.     interface IVMRAspectRatioControl
  29475.     {
  29476.         CONST_VTBL struct IVMRAspectRatioControlVtbl *lpVtbl;
  29477.     };
  29478.  
  29479.     
  29480.  
  29481. #ifdef COBJMACROS
  29482.  
  29483.  
  29484. #define IVMRAspectRatioControl_QueryInterface(This,riid,ppvObject)    \
  29485.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  29486.  
  29487. #define IVMRAspectRatioControl_AddRef(This)    \
  29488.     (This)->lpVtbl -> AddRef(This)
  29489.  
  29490. #define IVMRAspectRatioControl_Release(This)    \
  29491.     (This)->lpVtbl -> Release(This)
  29492.  
  29493.  
  29494. #define IVMRAspectRatioControl_GetAspectRatioMode(This,lpdwARMode)    \
  29495.     (This)->lpVtbl -> GetAspectRatioMode(This,lpdwARMode)
  29496.  
  29497. #define IVMRAspectRatioControl_SetAspectRatioMode(This,dwARMode)    \
  29498.     (This)->lpVtbl -> SetAspectRatioMode(This,dwARMode)
  29499.  
  29500. #endif /* COBJMACROS */
  29501.  
  29502.  
  29503. #endif     /* C style interface */
  29504.  
  29505.  
  29506.  
  29507. HRESULT STDMETHODCALLTYPE IVMRAspectRatioControl_GetAspectRatioMode_Proxy( 
  29508.     IVMRAspectRatioControl * This,
  29509.     /* [out] */ LPDWORD lpdwARMode);
  29510.  
  29511.  
  29512. void __RPC_STUB IVMRAspectRatioControl_GetAspectRatioMode_Stub(
  29513.     IRpcStubBuffer *This,
  29514.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29515.     PRPC_MESSAGE _pRpcMessage,
  29516.     DWORD *_pdwStubPhase);
  29517.  
  29518.  
  29519. HRESULT STDMETHODCALLTYPE IVMRAspectRatioControl_SetAspectRatioMode_Proxy( 
  29520.     IVMRAspectRatioControl * This,
  29521.     /* [in] */ DWORD dwARMode);
  29522.  
  29523.  
  29524. void __RPC_STUB IVMRAspectRatioControl_SetAspectRatioMode_Stub(
  29525.     IRpcStubBuffer *This,
  29526.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29527.     PRPC_MESSAGE _pRpcMessage,
  29528.     DWORD *_pdwStubPhase);
  29529.  
  29530.  
  29531.  
  29532. #endif     /* __IVMRAspectRatioControl_INTERFACE_DEFINED__ */
  29533.  
  29534.  
  29535. /* interface __MIDL_itf_strmif_0398 */
  29536. /* [local] */ 
  29537.  
  29538. typedef /* [public] */ 
  29539. enum __MIDL___MIDL_itf_strmif_0398_0001
  29540.     {    DeinterlacePref_NextBest    = 0x1,
  29541.     DeinterlacePref_BOB    = 0x2,
  29542.     DeinterlacePref_Weave    = 0x4,
  29543.     DeinterlacePref_Mask    = 0x7
  29544.     }     VMRDeinterlacePrefs;
  29545.  
  29546. typedef /* [public][public][public] */ 
  29547. enum __MIDL___MIDL_itf_strmif_0398_0002
  29548.     {    DeinterlaceTech_Unknown    = 0,
  29549.     DeinterlaceTech_BOBLineReplicate    = 0x1,
  29550.     DeinterlaceTech_BOBVerticalStretch    = 0x2,
  29551.     DeinterlaceTech_MedianFiltering    = 0x4,
  29552.     DeinterlaceTech_EdgeFiltering    = 0x10,
  29553.     DeinterlaceTech_FieldAdaptive    = 0x20,
  29554.     DeinterlaceTech_PixelAdaptive    = 0x40,
  29555.     DeinterlaceTech_MotionVectorSteered    = 0x80
  29556.     }     VMRDeinterlaceTech;
  29557.  
  29558. typedef struct _VMRFrequency
  29559.     {
  29560.     DWORD dwNumerator;
  29561.     DWORD dwDenominator;
  29562.     }     VMRFrequency;
  29563.  
  29564. typedef struct _VMRVideoDesc
  29565.     {
  29566.     DWORD dwSize;
  29567.     DWORD dwSampleWidth;
  29568.     DWORD dwSampleHeight;
  29569.     BOOL SingleFieldPerSample;
  29570.     DWORD dwFourCC;
  29571.     VMRFrequency InputSampleFreq;
  29572.     VMRFrequency OutputFrameFreq;
  29573.     }     VMRVideoDesc;
  29574.  
  29575. typedef struct _VMRDeinterlaceCaps
  29576.     {
  29577.     DWORD dwSize;
  29578.     DWORD dwNumPreviousOutputFrames;
  29579.     DWORD dwNumForwardRefSamples;
  29580.     DWORD dwNumBackwardRefSamples;
  29581.     VMRDeinterlaceTech DeinterlaceTechnology;
  29582.     }     VMRDeinterlaceCaps;
  29583.  
  29584.  
  29585.  
  29586. extern RPC_IF_HANDLE __MIDL_itf_strmif_0398_v0_0_c_ifspec;
  29587. extern RPC_IF_HANDLE __MIDL_itf_strmif_0398_v0_0_s_ifspec;
  29588.  
  29589. #ifndef __IVMRDeinterlaceControl_INTERFACE_DEFINED__
  29590. #define __IVMRDeinterlaceControl_INTERFACE_DEFINED__
  29591.  
  29592. /* interface IVMRDeinterlaceControl */
  29593. /* [unique][helpstring][uuid][local][object] */ 
  29594.  
  29595.  
  29596. EXTERN_C const IID IID_IVMRDeinterlaceControl;
  29597.  
  29598. #if defined(__cplusplus) && !defined(CINTERFACE)
  29599.     
  29600.     MIDL_INTERFACE("bb057577-0db8-4e6a-87a7-1a8c9a505a0f")
  29601.     IVMRDeinterlaceControl : public IUnknown
  29602.     {
  29603.     public:
  29604.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfDeinterlaceModes( 
  29605.             /* [in] */ VMRVideoDesc *lpVideoDescription,
  29606.             /* [out][in] */ LPDWORD lpdwNumDeinterlaceModes,
  29607.             /* [out] */ LPGUID lpDeinterlaceModes) = 0;
  29608.         
  29609.         virtual HRESULT STDMETHODCALLTYPE GetDeinterlaceModeCaps( 
  29610.             /* [in] */ LPGUID lpDeinterlaceMode,
  29611.             /* [in] */ VMRVideoDesc *lpVideoDescription,
  29612.             /* [out][in] */ VMRDeinterlaceCaps *lpDeinterlaceCaps) = 0;
  29613.         
  29614.         virtual HRESULT STDMETHODCALLTYPE GetDeinterlaceMode( 
  29615.             /* [in] */ DWORD dwStreamID,
  29616.             /* [out] */ LPGUID lpDeinterlaceMode) = 0;
  29617.         
  29618.         virtual HRESULT STDMETHODCALLTYPE SetDeinterlaceMode( 
  29619.             /* [in] */ DWORD dwStreamID,
  29620.             /* [in] */ LPGUID lpDeinterlaceMode) = 0;
  29621.         
  29622.         virtual HRESULT STDMETHODCALLTYPE GetDeinterlacePrefs( 
  29623.             /* [out] */ LPDWORD lpdwDeinterlacePrefs) = 0;
  29624.         
  29625.         virtual HRESULT STDMETHODCALLTYPE SetDeinterlacePrefs( 
  29626.             /* [in] */ DWORD dwDeinterlacePrefs) = 0;
  29627.         
  29628.         virtual HRESULT STDMETHODCALLTYPE GetActualDeinterlaceMode( 
  29629.             /* [in] */ DWORD dwStreamID,
  29630.             /* [out] */ LPGUID lpDeinterlaceMode) = 0;
  29631.         
  29632.     };
  29633.     
  29634. #else     /* C style interface */
  29635.  
  29636.     typedef struct IVMRDeinterlaceControlVtbl
  29637.     {
  29638.         BEGIN_INTERFACE
  29639.         
  29640.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  29641.             IVMRDeinterlaceControl * This,
  29642.             /* [in] */ REFIID riid,
  29643.             /* [iid_is][out] */ void **ppvObject);
  29644.         
  29645.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  29646.             IVMRDeinterlaceControl * This);
  29647.         
  29648.         ULONG ( STDMETHODCALLTYPE *Release )( 
  29649.             IVMRDeinterlaceControl * This);
  29650.         
  29651.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfDeinterlaceModes )( 
  29652.             IVMRDeinterlaceControl * This,
  29653.             /* [in] */ VMRVideoDesc *lpVideoDescription,
  29654.             /* [out][in] */ LPDWORD lpdwNumDeinterlaceModes,
  29655.             /* [out] */ LPGUID lpDeinterlaceModes);
  29656.         
  29657.         HRESULT ( STDMETHODCALLTYPE *GetDeinterlaceModeCaps )( 
  29658.             IVMRDeinterlaceControl * This,
  29659.             /* [in] */ LPGUID lpDeinterlaceMode,
  29660.             /* [in] */ VMRVideoDesc *lpVideoDescription,
  29661.             /* [out][in] */ VMRDeinterlaceCaps *lpDeinterlaceCaps);
  29662.         
  29663.         HRESULT ( STDMETHODCALLTYPE *GetDeinterlaceMode )( 
  29664.             IVMRDeinterlaceControl * This,
  29665.             /* [in] */ DWORD dwStreamID,
  29666.             /* [out] */ LPGUID lpDeinterlaceMode);
  29667.         
  29668.         HRESULT ( STDMETHODCALLTYPE *SetDeinterlaceMode )( 
  29669.             IVMRDeinterlaceControl * This,
  29670.             /* [in] */ DWORD dwStreamID,
  29671.             /* [in] */ LPGUID lpDeinterlaceMode);
  29672.         
  29673.         HRESULT ( STDMETHODCALLTYPE *GetDeinterlacePrefs )( 
  29674.             IVMRDeinterlaceControl * This,
  29675.             /* [out] */ LPDWORD lpdwDeinterlacePrefs);
  29676.         
  29677.         HRESULT ( STDMETHODCALLTYPE *SetDeinterlacePrefs )( 
  29678.             IVMRDeinterlaceControl * This,
  29679.             /* [in] */ DWORD dwDeinterlacePrefs);
  29680.         
  29681.         HRESULT ( STDMETHODCALLTYPE *GetActualDeinterlaceMode )( 
  29682.             IVMRDeinterlaceControl * This,
  29683.             /* [in] */ DWORD dwStreamID,
  29684.             /* [out] */ LPGUID lpDeinterlaceMode);
  29685.         
  29686.         END_INTERFACE
  29687.     } IVMRDeinterlaceControlVtbl;
  29688.  
  29689.     interface IVMRDeinterlaceControl
  29690.     {
  29691.         CONST_VTBL struct IVMRDeinterlaceControlVtbl *lpVtbl;
  29692.     };
  29693.  
  29694.     
  29695.  
  29696. #ifdef COBJMACROS
  29697.  
  29698.  
  29699. #define IVMRDeinterlaceControl_QueryInterface(This,riid,ppvObject)    \
  29700.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  29701.  
  29702. #define IVMRDeinterlaceControl_AddRef(This)    \
  29703.     (This)->lpVtbl -> AddRef(This)
  29704.  
  29705. #define IVMRDeinterlaceControl_Release(This)    \
  29706.     (This)->lpVtbl -> Release(This)
  29707.  
  29708.  
  29709. #define IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes)    \
  29710.     (This)->lpVtbl -> GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes)
  29711.  
  29712. #define IVMRDeinterlaceControl_GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps)    \
  29713.     (This)->lpVtbl -> GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps)
  29714.  
  29715. #define IVMRDeinterlaceControl_GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)    \
  29716.     (This)->lpVtbl -> GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
  29717.  
  29718. #define IVMRDeinterlaceControl_SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)    \
  29719.     (This)->lpVtbl -> SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
  29720.  
  29721. #define IVMRDeinterlaceControl_GetDeinterlacePrefs(This,lpdwDeinterlacePrefs)    \
  29722.     (This)->lpVtbl -> GetDeinterlacePrefs(This,lpdwDeinterlacePrefs)
  29723.  
  29724. #define IVMRDeinterlaceControl_SetDeinterlacePrefs(This,dwDeinterlacePrefs)    \
  29725.     (This)->lpVtbl -> SetDeinterlacePrefs(This,dwDeinterlacePrefs)
  29726.  
  29727. #define IVMRDeinterlaceControl_GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)    \
  29728.     (This)->lpVtbl -> GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
  29729.  
  29730. #endif /* COBJMACROS */
  29731.  
  29732.  
  29733. #endif     /* C style interface */
  29734.  
  29735.  
  29736.  
  29737. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Proxy( 
  29738.     IVMRDeinterlaceControl * This,
  29739.     /* [in] */ VMRVideoDesc *lpVideoDescription,
  29740.     /* [out][in] */ LPDWORD lpdwNumDeinterlaceModes,
  29741.     /* [out] */ LPGUID lpDeinterlaceModes);
  29742.  
  29743.  
  29744. void __RPC_STUB IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Stub(
  29745.     IRpcStubBuffer *This,
  29746.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29747.     PRPC_MESSAGE _pRpcMessage,
  29748.     DWORD *_pdwStubPhase);
  29749.  
  29750.  
  29751. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Proxy( 
  29752.     IVMRDeinterlaceControl * This,
  29753.     /* [in] */ LPGUID lpDeinterlaceMode,
  29754.     /* [in] */ VMRVideoDesc *lpVideoDescription,
  29755.     /* [out][in] */ VMRDeinterlaceCaps *lpDeinterlaceCaps);
  29756.  
  29757.  
  29758. void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Stub(
  29759.     IRpcStubBuffer *This,
  29760.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29761.     PRPC_MESSAGE _pRpcMessage,
  29762.     DWORD *_pdwStubPhase);
  29763.  
  29764.  
  29765. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetDeinterlaceMode_Proxy( 
  29766.     IVMRDeinterlaceControl * This,
  29767.     /* [in] */ DWORD dwStreamID,
  29768.     /* [out] */ LPGUID lpDeinterlaceMode);
  29769.  
  29770.  
  29771. void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceMode_Stub(
  29772.     IRpcStubBuffer *This,
  29773.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29774.     PRPC_MESSAGE _pRpcMessage,
  29775.     DWORD *_pdwStubPhase);
  29776.  
  29777.  
  29778. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_SetDeinterlaceMode_Proxy( 
  29779.     IVMRDeinterlaceControl * This,
  29780.     /* [in] */ DWORD dwStreamID,
  29781.     /* [in] */ LPGUID lpDeinterlaceMode);
  29782.  
  29783.  
  29784. void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlaceMode_Stub(
  29785.     IRpcStubBuffer *This,
  29786.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29787.     PRPC_MESSAGE _pRpcMessage,
  29788.     DWORD *_pdwStubPhase);
  29789.  
  29790.  
  29791. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetDeinterlacePrefs_Proxy( 
  29792.     IVMRDeinterlaceControl * This,
  29793.     /* [out] */ LPDWORD lpdwDeinterlacePrefs);
  29794.  
  29795.  
  29796. void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlacePrefs_Stub(
  29797.     IRpcStubBuffer *This,
  29798.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29799.     PRPC_MESSAGE _pRpcMessage,
  29800.     DWORD *_pdwStubPhase);
  29801.  
  29802.  
  29803. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_SetDeinterlacePrefs_Proxy( 
  29804.     IVMRDeinterlaceControl * This,
  29805.     /* [in] */ DWORD dwDeinterlacePrefs);
  29806.  
  29807.  
  29808. void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlacePrefs_Stub(
  29809.     IRpcStubBuffer *This,
  29810.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29811.     PRPC_MESSAGE _pRpcMessage,
  29812.     DWORD *_pdwStubPhase);
  29813.  
  29814.  
  29815. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetActualDeinterlaceMode_Proxy( 
  29816.     IVMRDeinterlaceControl * This,
  29817.     /* [in] */ DWORD dwStreamID,
  29818.     /* [out] */ LPGUID lpDeinterlaceMode);
  29819.  
  29820.  
  29821. void __RPC_STUB IVMRDeinterlaceControl_GetActualDeinterlaceMode_Stub(
  29822.     IRpcStubBuffer *This,
  29823.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29824.     PRPC_MESSAGE _pRpcMessage,
  29825.     DWORD *_pdwStubPhase);
  29826.  
  29827.  
  29828.  
  29829. #endif     /* __IVMRDeinterlaceControl_INTERFACE_DEFINED__ */
  29830.  
  29831.  
  29832. /* interface __MIDL_itf_strmif_0399 */
  29833. /* [local] */ 
  29834.  
  29835. typedef struct _VMRALPHABITMAP
  29836.     {
  29837.     DWORD dwFlags;
  29838.     HDC hdc;
  29839.     LPDIRECTDRAWSURFACE7 pDDS;
  29840.     RECT rSrc;
  29841.     NORMALIZEDRECT rDest;
  29842.     FLOAT fAlpha;
  29843.     COLORREF clrSrcKey;
  29844.     }     VMRALPHABITMAP;
  29845.  
  29846. typedef struct _VMRALPHABITMAP *PVMRALPHABITMAP;
  29847.  
  29848. #define VMRBITMAP_DISABLE            0x00000001
  29849. #define VMRBITMAP_HDC                0x00000002
  29850. #define VMRBITMAP_ENTIREDDS          0x00000004
  29851. #define VMRBITMAP_SRCCOLORKEY        0x00000008
  29852. #define VMRBITMAP_SRCRECT            0x00000010
  29853.  
  29854.  
  29855. extern RPC_IF_HANDLE __MIDL_itf_strmif_0399_v0_0_c_ifspec;
  29856. extern RPC_IF_HANDLE __MIDL_itf_strmif_0399_v0_0_s_ifspec;
  29857.  
  29858. #ifndef __IVMRMixerBitmap_INTERFACE_DEFINED__
  29859. #define __IVMRMixerBitmap_INTERFACE_DEFINED__
  29860.  
  29861. /* interface IVMRMixerBitmap */
  29862. /* [unique][helpstring][uuid][local][object] */ 
  29863.  
  29864.  
  29865. EXTERN_C const IID IID_IVMRMixerBitmap;
  29866.  
  29867. #if defined(__cplusplus) && !defined(CINTERFACE)
  29868.     
  29869.     MIDL_INTERFACE("1E673275-0257-40aa-AF20-7C608D4A0428")
  29870.     IVMRMixerBitmap : public IUnknown
  29871.     {
  29872.     public:
  29873.         virtual HRESULT STDMETHODCALLTYPE SetAlphaBitmap( 
  29874.             /* [in] */ const VMRALPHABITMAP *pBmpParms) = 0;
  29875.         
  29876.         virtual HRESULT STDMETHODCALLTYPE UpdateAlphaBitmapParameters( 
  29877.             /* [in] */ PVMRALPHABITMAP pBmpParms) = 0;
  29878.         
  29879.         virtual HRESULT STDMETHODCALLTYPE GetAlphaBitmapParameters( 
  29880.             /* [out] */ PVMRALPHABITMAP pBmpParms) = 0;
  29881.         
  29882.     };
  29883.     
  29884. #else     /* C style interface */
  29885.  
  29886.     typedef struct IVMRMixerBitmapVtbl
  29887.     {
  29888.         BEGIN_INTERFACE
  29889.         
  29890.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  29891.             IVMRMixerBitmap * This,
  29892.             /* [in] */ REFIID riid,
  29893.             /* [iid_is][out] */ void **ppvObject);
  29894.         
  29895.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  29896.             IVMRMixerBitmap * This);
  29897.         
  29898.         ULONG ( STDMETHODCALLTYPE *Release )( 
  29899.             IVMRMixerBitmap * This);
  29900.         
  29901.         HRESULT ( STDMETHODCALLTYPE *SetAlphaBitmap )( 
  29902.             IVMRMixerBitmap * This,
  29903.             /* [in] */ const VMRALPHABITMAP *pBmpParms);
  29904.         
  29905.         HRESULT ( STDMETHODCALLTYPE *UpdateAlphaBitmapParameters )( 
  29906.             IVMRMixerBitmap * This,
  29907.             /* [in] */ PVMRALPHABITMAP pBmpParms);
  29908.         
  29909.         HRESULT ( STDMETHODCALLTYPE *GetAlphaBitmapParameters )( 
  29910.             IVMRMixerBitmap * This,
  29911.             /* [out] */ PVMRALPHABITMAP pBmpParms);
  29912.         
  29913.         END_INTERFACE
  29914.     } IVMRMixerBitmapVtbl;
  29915.  
  29916.     interface IVMRMixerBitmap
  29917.     {
  29918.         CONST_VTBL struct IVMRMixerBitmapVtbl *lpVtbl;
  29919.     };
  29920.  
  29921.     
  29922.  
  29923. #ifdef COBJMACROS
  29924.  
  29925.  
  29926. #define IVMRMixerBitmap_QueryInterface(This,riid,ppvObject)    \
  29927.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  29928.  
  29929. #define IVMRMixerBitmap_AddRef(This)    \
  29930.     (This)->lpVtbl -> AddRef(This)
  29931.  
  29932. #define IVMRMixerBitmap_Release(This)    \
  29933.     (This)->lpVtbl -> Release(This)
  29934.  
  29935.  
  29936. #define IVMRMixerBitmap_SetAlphaBitmap(This,pBmpParms)    \
  29937.     (This)->lpVtbl -> SetAlphaBitmap(This,pBmpParms)
  29938.  
  29939. #define IVMRMixerBitmap_UpdateAlphaBitmapParameters(This,pBmpParms)    \
  29940.     (This)->lpVtbl -> UpdateAlphaBitmapParameters(This,pBmpParms)
  29941.  
  29942. #define IVMRMixerBitmap_GetAlphaBitmapParameters(This,pBmpParms)    \
  29943.     (This)->lpVtbl -> GetAlphaBitmapParameters(This,pBmpParms)
  29944.  
  29945. #endif /* COBJMACROS */
  29946.  
  29947.  
  29948. #endif     /* C style interface */
  29949.  
  29950.  
  29951.  
  29952. HRESULT STDMETHODCALLTYPE IVMRMixerBitmap_SetAlphaBitmap_Proxy( 
  29953.     IVMRMixerBitmap * This,
  29954.     /* [in] */ const VMRALPHABITMAP *pBmpParms);
  29955.  
  29956.  
  29957. void __RPC_STUB IVMRMixerBitmap_SetAlphaBitmap_Stub(
  29958.     IRpcStubBuffer *This,
  29959.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29960.     PRPC_MESSAGE _pRpcMessage,
  29961.     DWORD *_pdwStubPhase);
  29962.  
  29963.  
  29964. HRESULT STDMETHODCALLTYPE IVMRMixerBitmap_UpdateAlphaBitmapParameters_Proxy( 
  29965.     IVMRMixerBitmap * This,
  29966.     /* [in] */ PVMRALPHABITMAP pBmpParms);
  29967.  
  29968.  
  29969. void __RPC_STUB IVMRMixerBitmap_UpdateAlphaBitmapParameters_Stub(
  29970.     IRpcStubBuffer *This,
  29971.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29972.     PRPC_MESSAGE _pRpcMessage,
  29973.     DWORD *_pdwStubPhase);
  29974.  
  29975.  
  29976. HRESULT STDMETHODCALLTYPE IVMRMixerBitmap_GetAlphaBitmapParameters_Proxy( 
  29977.     IVMRMixerBitmap * This,
  29978.     /* [out] */ PVMRALPHABITMAP pBmpParms);
  29979.  
  29980.  
  29981. void __RPC_STUB IVMRMixerBitmap_GetAlphaBitmapParameters_Stub(
  29982.     IRpcStubBuffer *This,
  29983.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29984.     PRPC_MESSAGE _pRpcMessage,
  29985.     DWORD *_pdwStubPhase);
  29986.  
  29987.  
  29988.  
  29989. #endif     /* __IVMRMixerBitmap_INTERFACE_DEFINED__ */
  29990.  
  29991.  
  29992. /* interface __MIDL_itf_strmif_0400 */
  29993. /* [local] */ 
  29994.  
  29995. typedef struct _VMRVIDEOSTREAMINFO
  29996.     {
  29997.     LPDIRECTDRAWSURFACE7 pddsVideoSurface;
  29998.     DWORD dwWidth;
  29999.     DWORD dwHeight;
  30000.     DWORD dwStrmID;
  30001.     FLOAT fAlpha;
  30002.     DDCOLORKEY ddClrKey;
  30003.     NORMALIZEDRECT rNormal;
  30004.     }     VMRVIDEOSTREAMINFO;
  30005.  
  30006.  
  30007.  
  30008. extern RPC_IF_HANDLE __MIDL_itf_strmif_0400_v0_0_c_ifspec;
  30009. extern RPC_IF_HANDLE __MIDL_itf_strmif_0400_v0_0_s_ifspec;
  30010.  
  30011. #ifndef __IVMRImageCompositor_INTERFACE_DEFINED__
  30012. #define __IVMRImageCompositor_INTERFACE_DEFINED__
  30013.  
  30014. /* interface IVMRImageCompositor */
  30015. /* [unique][helpstring][uuid][local][object][local] */ 
  30016.  
  30017.  
  30018. EXTERN_C const IID IID_IVMRImageCompositor;
  30019.  
  30020. #if defined(__cplusplus) && !defined(CINTERFACE)
  30021.     
  30022.     MIDL_INTERFACE("7a4fb5af-479f-4074-bb40-ce6722e43c82")
  30023.     IVMRImageCompositor : public IUnknown
  30024.     {
  30025.     public:
  30026.         virtual HRESULT STDMETHODCALLTYPE InitCompositionTarget( 
  30027.             /* [in] */ IUnknown *pD3DDevice,
  30028.             /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0;
  30029.         
  30030.         virtual HRESULT STDMETHODCALLTYPE TermCompositionTarget( 
  30031.             /* [in] */ IUnknown *pD3DDevice,
  30032.             /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0;
  30033.         
  30034.         virtual HRESULT STDMETHODCALLTYPE SetStreamMediaType( 
  30035.             /* [in] */ DWORD dwStrmID,
  30036.             /* [in] */ AM_MEDIA_TYPE *pmt,
  30037.             /* [in] */ BOOL fTexture) = 0;
  30038.         
  30039.         virtual HRESULT STDMETHODCALLTYPE CompositeImage( 
  30040.             /* [in] */ IUnknown *pD3DDevice,
  30041.             /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget,
  30042.             /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget,
  30043.             /* [in] */ REFERENCE_TIME rtStart,
  30044.             /* [in] */ REFERENCE_TIME rtEnd,
  30045.             /* [in] */ DWORD dwClrBkGnd,
  30046.             /* [in] */ VMRVIDEOSTREAMINFO *pVideoStreamInfo,
  30047.             /* [in] */ UINT cStreams) = 0;
  30048.         
  30049.     };
  30050.     
  30051. #else     /* C style interface */
  30052.  
  30053.     typedef struct IVMRImageCompositorVtbl
  30054.     {
  30055.         BEGIN_INTERFACE
  30056.         
  30057.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  30058.             IVMRImageCompositor * This,
  30059.             /* [in] */ REFIID riid,
  30060.             /* [iid_is][out] */ void **ppvObject);
  30061.         
  30062.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  30063.             IVMRImageCompositor * This);
  30064.         
  30065.         ULONG ( STDMETHODCALLTYPE *Release )( 
  30066.             IVMRImageCompositor * This);
  30067.         
  30068.         HRESULT ( STDMETHODCALLTYPE *InitCompositionTarget )( 
  30069.             IVMRImageCompositor * This,
  30070.             /* [in] */ IUnknown *pD3DDevice,
  30071.             /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);
  30072.         
  30073.         HRESULT ( STDMETHODCALLTYPE *TermCompositionTarget )( 
  30074.             IVMRImageCompositor * This,
  30075.             /* [in] */ IUnknown *pD3DDevice,
  30076.             /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);
  30077.         
  30078.         HRESULT ( STDMETHODCALLTYPE *SetStreamMediaType )( 
  30079.             IVMRImageCompositor * This,
  30080.             /* [in] */ DWORD dwStrmID,
  30081.             /* [in] */ AM_MEDIA_TYPE *pmt,
  30082.             /* [in] */ BOOL fTexture);
  30083.         
  30084.         HRESULT ( STDMETHODCALLTYPE *CompositeImage )( 
  30085.             IVMRImageCompositor * This,
  30086.             /* [in] */ IUnknown *pD3DDevice,
  30087.             /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget,
  30088.             /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget,
  30089.             /* [in] */ REFERENCE_TIME rtStart,
  30090.             /* [in] */ REFERENCE_TIME rtEnd,
  30091.             /* [in] */ DWORD dwClrBkGnd,
  30092.             /* [in] */ VMRVIDEOSTREAMINFO *pVideoStreamInfo,
  30093.             /* [in] */ UINT cStreams);
  30094.         
  30095.         END_INTERFACE
  30096.     } IVMRImageCompositorVtbl;
  30097.  
  30098.     interface IVMRImageCompositor
  30099.     {
  30100.         CONST_VTBL struct IVMRImageCompositorVtbl *lpVtbl;
  30101.     };
  30102.  
  30103.     
  30104.  
  30105. #ifdef COBJMACROS
  30106.  
  30107.  
  30108. #define IVMRImageCompositor_QueryInterface(This,riid,ppvObject)    \
  30109.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  30110.  
  30111. #define IVMRImageCompositor_AddRef(This)    \
  30112.     (This)->lpVtbl -> AddRef(This)
  30113.  
  30114. #define IVMRImageCompositor_Release(This)    \
  30115.     (This)->lpVtbl -> Release(This)
  30116.  
  30117.  
  30118. #define IVMRImageCompositor_InitCompositionTarget(This,pD3DDevice,pddsRenderTarget)    \
  30119.     (This)->lpVtbl -> InitCompositionTarget(This,pD3DDevice,pddsRenderTarget)
  30120.  
  30121. #define IVMRImageCompositor_TermCompositionTarget(This,pD3DDevice,pddsRenderTarget)    \
  30122.     (This)->lpVtbl -> TermCompositionTarget(This,pD3DDevice,pddsRenderTarget)
  30123.  
  30124. #define IVMRImageCompositor_SetStreamMediaType(This,dwStrmID,pmt,fTexture)    \
  30125.     (This)->lpVtbl -> SetStreamMediaType(This,dwStrmID,pmt,fTexture)
  30126.  
  30127. #define IVMRImageCompositor_CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams)    \
  30128.     (This)->lpVtbl -> CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams)
  30129.  
  30130. #endif /* COBJMACROS */
  30131.  
  30132.  
  30133. #endif     /* C style interface */
  30134.  
  30135.  
  30136.  
  30137. HRESULT STDMETHODCALLTYPE IVMRImageCompositor_InitCompositionTarget_Proxy( 
  30138.     IVMRImageCompositor * This,
  30139.     /* [in] */ IUnknown *pD3DDevice,
  30140.     /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);
  30141.  
  30142.  
  30143. void __RPC_STUB IVMRImageCompositor_InitCompositionTarget_Stub(
  30144.     IRpcStubBuffer *This,
  30145.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30146.     PRPC_MESSAGE _pRpcMessage,
  30147.     DWORD *_pdwStubPhase);
  30148.  
  30149.  
  30150. HRESULT STDMETHODCALLTYPE IVMRImageCompositor_TermCompositionTarget_Proxy( 
  30151.     IVMRImageCompositor * This,
  30152.     /* [in] */ IUnknown *pD3DDevice,
  30153.     /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);
  30154.  
  30155.  
  30156. void __RPC_STUB IVMRImageCompositor_TermCompositionTarget_Stub(
  30157.     IRpcStubBuffer *This,
  30158.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30159.     PRPC_MESSAGE _pRpcMessage,
  30160.     DWORD *_pdwStubPhase);
  30161.  
  30162.  
  30163. HRESULT STDMETHODCALLTYPE IVMRImageCompositor_SetStreamMediaType_Proxy( 
  30164.     IVMRImageCompositor * This,
  30165.     /* [in] */ DWORD dwStrmID,
  30166.     /* [in] */ AM_MEDIA_TYPE *pmt,
  30167.     /* [in] */ BOOL fTexture);
  30168.  
  30169.  
  30170. void __RPC_STUB IVMRImageCompositor_SetStreamMediaType_Stub(
  30171.     IRpcStubBuffer *This,
  30172.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30173.     PRPC_MESSAGE _pRpcMessage,
  30174.     DWORD *_pdwStubPhase);
  30175.  
  30176.  
  30177. HRESULT STDMETHODCALLTYPE IVMRImageCompositor_CompositeImage_Proxy( 
  30178.     IVMRImageCompositor * This,
  30179.     /* [in] */ IUnknown *pD3DDevice,
  30180.     /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget,
  30181.     /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget,
  30182.     /* [in] */ REFERENCE_TIME rtStart,
  30183.     /* [in] */ REFERENCE_TIME rtEnd,
  30184.     /* [in] */ DWORD dwClrBkGnd,
  30185.     /* [in] */ VMRVIDEOSTREAMINFO *pVideoStreamInfo,
  30186.     /* [in] */ UINT cStreams);
  30187.  
  30188.  
  30189. void __RPC_STUB IVMRImageCompositor_CompositeImage_Stub(
  30190.     IRpcStubBuffer *This,
  30191.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30192.     PRPC_MESSAGE _pRpcMessage,
  30193.     DWORD *_pdwStubPhase);
  30194.  
  30195.  
  30196.  
  30197. #endif     /* __IVMRImageCompositor_INTERFACE_DEFINED__ */
  30198.  
  30199.  
  30200. #ifndef __IVMRVideoStreamControl_INTERFACE_DEFINED__
  30201. #define __IVMRVideoStreamControl_INTERFACE_DEFINED__
  30202.  
  30203. /* interface IVMRVideoStreamControl */
  30204. /* [unique][helpstring][uuid][local][object] */ 
  30205.  
  30206.  
  30207. EXTERN_C const IID IID_IVMRVideoStreamControl;
  30208.  
  30209. #if defined(__cplusplus) && !defined(CINTERFACE)
  30210.     
  30211.     MIDL_INTERFACE("058d1f11-2a54-4bef-bd54-df706626b727")
  30212.     IVMRVideoStreamControl : public IUnknown
  30213.     {
  30214.     public:
  30215.         virtual HRESULT STDMETHODCALLTYPE SetColorKey( 
  30216.             /* [in] */ LPDDCOLORKEY lpClrKey) = 0;
  30217.         
  30218.         virtual HRESULT STDMETHODCALLTYPE GetColorKey( 
  30219.             /* [out] */ LPDDCOLORKEY lpClrKey) = 0;
  30220.         
  30221.         virtual HRESULT STDMETHODCALLTYPE SetStreamActiveState( 
  30222.             /* [in] */ BOOL fActive) = 0;
  30223.         
  30224.         virtual HRESULT STDMETHODCALLTYPE GetStreamActiveState( 
  30225.             /* [out] */ BOOL *lpfActive) = 0;
  30226.         
  30227.     };
  30228.     
  30229. #else     /* C style interface */
  30230.  
  30231.     typedef struct IVMRVideoStreamControlVtbl
  30232.     {
  30233.         BEGIN_INTERFACE
  30234.         
  30235.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  30236.             IVMRVideoStreamControl * This,
  30237.             /* [in] */ REFIID riid,
  30238.             /* [iid_is][out] */ void **ppvObject);
  30239.         
  30240.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  30241.             IVMRVideoStreamControl * This);
  30242.         
  30243.         ULONG ( STDMETHODCALLTYPE *Release )( 
  30244.             IVMRVideoStreamControl * This);
  30245.         
  30246.         HRESULT ( STDMETHODCALLTYPE *SetColorKey )( 
  30247.             IVMRVideoStreamControl * This,
  30248.             /* [in] */ LPDDCOLORKEY lpClrKey);
  30249.         
  30250.         HRESULT ( STDMETHODCALLTYPE *GetColorKey )( 
  30251.             IVMRVideoStreamControl * This,
  30252.             /* [out] */ LPDDCOLORKEY lpClrKey);
  30253.         
  30254.         HRESULT ( STDMETHODCALLTYPE *SetStreamActiveState )( 
  30255.             IVMRVideoStreamControl * This,
  30256.             /* [in] */ BOOL fActive);
  30257.         
  30258.         HRESULT ( STDMETHODCALLTYPE *GetStreamActiveState )( 
  30259.             IVMRVideoStreamControl * This,
  30260.             /* [out] */ BOOL *lpfActive);
  30261.         
  30262.         END_INTERFACE
  30263.     } IVMRVideoStreamControlVtbl;
  30264.  
  30265.     interface IVMRVideoStreamControl
  30266.     {
  30267.         CONST_VTBL struct IVMRVideoStreamControlVtbl *lpVtbl;
  30268.     };
  30269.  
  30270.     
  30271.  
  30272. #ifdef COBJMACROS
  30273.  
  30274.  
  30275. #define IVMRVideoStreamControl_QueryInterface(This,riid,ppvObject)    \
  30276.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  30277.  
  30278. #define IVMRVideoStreamControl_AddRef(This)    \
  30279.     (This)->lpVtbl -> AddRef(This)
  30280.  
  30281. #define IVMRVideoStreamControl_Release(This)    \
  30282.     (This)->lpVtbl -> Release(This)
  30283.  
  30284.  
  30285. #define IVMRVideoStreamControl_SetColorKey(This,lpClrKey)    \
  30286.     (This)->lpVtbl -> SetColorKey(This,lpClrKey)
  30287.  
  30288. #define IVMRVideoStreamControl_GetColorKey(This,lpClrKey)    \
  30289.     (This)->lpVtbl -> GetColorKey(This,lpClrKey)
  30290.  
  30291. #define IVMRVideoStreamControl_SetStreamActiveState(This,fActive)    \
  30292.     (This)->lpVtbl -> SetStreamActiveState(This,fActive)
  30293.  
  30294. #define IVMRVideoStreamControl_GetStreamActiveState(This,lpfActive)    \
  30295.     (This)->lpVtbl -> GetStreamActiveState(This,lpfActive)
  30296.  
  30297. #endif /* COBJMACROS */
  30298.  
  30299.  
  30300. #endif     /* C style interface */
  30301.  
  30302.  
  30303.  
  30304. HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_SetColorKey_Proxy( 
  30305.     IVMRVideoStreamControl * This,
  30306.     /* [in] */ LPDDCOLORKEY lpClrKey);
  30307.  
  30308.  
  30309. void __RPC_STUB IVMRVideoStreamControl_SetColorKey_Stub(
  30310.     IRpcStubBuffer *This,
  30311.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30312.     PRPC_MESSAGE _pRpcMessage,
  30313.     DWORD *_pdwStubPhase);
  30314.  
  30315.  
  30316. HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_GetColorKey_Proxy( 
  30317.     IVMRVideoStreamControl * This,
  30318.     /* [out] */ LPDDCOLORKEY lpClrKey);
  30319.  
  30320.  
  30321. void __RPC_STUB IVMRVideoStreamControl_GetColorKey_Stub(
  30322.     IRpcStubBuffer *This,
  30323.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30324.     PRPC_MESSAGE _pRpcMessage,
  30325.     DWORD *_pdwStubPhase);
  30326.  
  30327.  
  30328. HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_SetStreamActiveState_Proxy( 
  30329.     IVMRVideoStreamControl * This,
  30330.     /* [in] */ BOOL fActive);
  30331.  
  30332.  
  30333. void __RPC_STUB IVMRVideoStreamControl_SetStreamActiveState_Stub(
  30334.     IRpcStubBuffer *This,
  30335.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30336.     PRPC_MESSAGE _pRpcMessage,
  30337.     DWORD *_pdwStubPhase);
  30338.  
  30339.  
  30340. HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_GetStreamActiveState_Proxy( 
  30341.     IVMRVideoStreamControl * This,
  30342.     /* [out] */ BOOL *lpfActive);
  30343.  
  30344.  
  30345. void __RPC_STUB IVMRVideoStreamControl_GetStreamActiveState_Stub(
  30346.     IRpcStubBuffer *This,
  30347.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30348.     PRPC_MESSAGE _pRpcMessage,
  30349.     DWORD *_pdwStubPhase);
  30350.  
  30351.  
  30352.  
  30353. #endif     /* __IVMRVideoStreamControl_INTERFACE_DEFINED__ */
  30354.  
  30355.  
  30356. #ifndef __IVMRSurface_INTERFACE_DEFINED__
  30357. #define __IVMRSurface_INTERFACE_DEFINED__
  30358.  
  30359. /* interface IVMRSurface */
  30360. /* [unique][helpstring][uuid][local][object][local] */ 
  30361.  
  30362.  
  30363. EXTERN_C const IID IID_IVMRSurface;
  30364.  
  30365. #if defined(__cplusplus) && !defined(CINTERFACE)
  30366.     
  30367.     MIDL_INTERFACE("a9849bbe-9ec8-4263-b764-62730f0d15d0")
  30368.     IVMRSurface : public IUnknown
  30369.     {
  30370.     public:
  30371.         virtual HRESULT STDMETHODCALLTYPE IsSurfaceLocked( void) = 0;
  30372.         
  30373.         virtual HRESULT STDMETHODCALLTYPE LockSurface( 
  30374.             /* [out] */ BYTE **lpSurface) = 0;
  30375.         
  30376.         virtual HRESULT STDMETHODCALLTYPE UnlockSurface( void) = 0;
  30377.         
  30378.         virtual HRESULT STDMETHODCALLTYPE GetSurface( 
  30379.             /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface) = 0;
  30380.         
  30381.     };
  30382.     
  30383. #else     /* C style interface */
  30384.  
  30385.     typedef struct IVMRSurfaceVtbl
  30386.     {
  30387.         BEGIN_INTERFACE
  30388.         
  30389.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  30390.             IVMRSurface * This,
  30391.             /* [in] */ REFIID riid,
  30392.             /* [iid_is][out] */ void **ppvObject);
  30393.         
  30394.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  30395.             IVMRSurface * This);
  30396.         
  30397.         ULONG ( STDMETHODCALLTYPE *Release )( 
  30398.             IVMRSurface * This);
  30399.         
  30400.         HRESULT ( STDMETHODCALLTYPE *IsSurfaceLocked )( 
  30401.             IVMRSurface * This);
  30402.         
  30403.         HRESULT ( STDMETHODCALLTYPE *LockSurface )( 
  30404.             IVMRSurface * This,
  30405.             /* [out] */ BYTE **lpSurface);
  30406.         
  30407.         HRESULT ( STDMETHODCALLTYPE *UnlockSurface )( 
  30408.             IVMRSurface * This);
  30409.         
  30410.         HRESULT ( STDMETHODCALLTYPE *GetSurface )( 
  30411.             IVMRSurface * This,
  30412.             /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);
  30413.         
  30414.         END_INTERFACE
  30415.     } IVMRSurfaceVtbl;
  30416.  
  30417.     interface IVMRSurface
  30418.     {
  30419.         CONST_VTBL struct IVMRSurfaceVtbl *lpVtbl;
  30420.     };
  30421.  
  30422.     
  30423.  
  30424. #ifdef COBJMACROS
  30425.  
  30426.  
  30427. #define IVMRSurface_QueryInterface(This,riid,ppvObject)    \
  30428.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  30429.  
  30430. #define IVMRSurface_AddRef(This)    \
  30431.     (This)->lpVtbl -> AddRef(This)
  30432.  
  30433. #define IVMRSurface_Release(This)    \
  30434.     (This)->lpVtbl -> Release(This)
  30435.  
  30436.  
  30437. #define IVMRSurface_IsSurfaceLocked(This)    \
  30438.     (This)->lpVtbl -> IsSurfaceLocked(This)
  30439.  
  30440. #define IVMRSurface_LockSurface(This,lpSurface)    \
  30441.     (This)->lpVtbl -> LockSurface(This,lpSurface)
  30442.  
  30443. #define IVMRSurface_UnlockSurface(This)    \
  30444.     (This)->lpVtbl -> UnlockSurface(This)
  30445.  
  30446. #define IVMRSurface_GetSurface(This,lplpSurface)    \
  30447.     (This)->lpVtbl -> GetSurface(This,lplpSurface)
  30448.  
  30449. #endif /* COBJMACROS */
  30450.  
  30451.  
  30452. #endif     /* C style interface */
  30453.  
  30454.  
  30455.  
  30456. HRESULT STDMETHODCALLTYPE IVMRSurface_IsSurfaceLocked_Proxy( 
  30457.     IVMRSurface * This);
  30458.  
  30459.  
  30460. void __RPC_STUB IVMRSurface_IsSurfaceLocked_Stub(
  30461.     IRpcStubBuffer *This,
  30462.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30463.     PRPC_MESSAGE _pRpcMessage,
  30464.     DWORD *_pdwStubPhase);
  30465.  
  30466.  
  30467. HRESULT STDMETHODCALLTYPE IVMRSurface_LockSurface_Proxy( 
  30468.     IVMRSurface * This,
  30469.     /* [out] */ BYTE **lpSurface);
  30470.  
  30471.  
  30472. void __RPC_STUB IVMRSurface_LockSurface_Stub(
  30473.     IRpcStubBuffer *This,
  30474.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30475.     PRPC_MESSAGE _pRpcMessage,
  30476.     DWORD *_pdwStubPhase);
  30477.  
  30478.  
  30479. HRESULT STDMETHODCALLTYPE IVMRSurface_UnlockSurface_Proxy( 
  30480.     IVMRSurface * This);
  30481.  
  30482.  
  30483. void __RPC_STUB IVMRSurface_UnlockSurface_Stub(
  30484.     IRpcStubBuffer *This,
  30485.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30486.     PRPC_MESSAGE _pRpcMessage,
  30487.     DWORD *_pdwStubPhase);
  30488.  
  30489.  
  30490. HRESULT STDMETHODCALLTYPE IVMRSurface_GetSurface_Proxy( 
  30491.     IVMRSurface * This,
  30492.     /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);
  30493.  
  30494.  
  30495. void __RPC_STUB IVMRSurface_GetSurface_Stub(
  30496.     IRpcStubBuffer *This,
  30497.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30498.     PRPC_MESSAGE _pRpcMessage,
  30499.     DWORD *_pdwStubPhase);
  30500.  
  30501.  
  30502.  
  30503. #endif     /* __IVMRSurface_INTERFACE_DEFINED__ */
  30504.  
  30505.  
  30506. #ifndef __IVMRImagePresenterConfig_INTERFACE_DEFINED__
  30507. #define __IVMRImagePresenterConfig_INTERFACE_DEFINED__
  30508.  
  30509. /* interface IVMRImagePresenterConfig */
  30510. /* [unique][helpstring][uuid][local][object][local] */ 
  30511.  
  30512.  
  30513. EXTERN_C const IID IID_IVMRImagePresenterConfig;
  30514.  
  30515. #if defined(__cplusplus) && !defined(CINTERFACE)
  30516.     
  30517.     MIDL_INTERFACE("9f3a1c85-8555-49ba-935f-be5b5b29d178")
  30518.     IVMRImagePresenterConfig : public IUnknown
  30519.     {
  30520.     public:
  30521.         virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs( 
  30522.             /* [in] */ DWORD dwRenderFlags) = 0;
  30523.         
  30524.         virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs( 
  30525.             /* [out] */ DWORD *dwRenderFlags) = 0;
  30526.         
  30527.     };
  30528.     
  30529. #else     /* C style interface */
  30530.  
  30531.     typedef struct IVMRImagePresenterConfigVtbl
  30532.     {
  30533.         BEGIN_INTERFACE
  30534.         
  30535.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  30536.             IVMRImagePresenterConfig * This,
  30537.             /* [in] */ REFIID riid,
  30538.             /* [iid_is][out] */ void **ppvObject);
  30539.         
  30540.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  30541.             IVMRImagePresenterConfig * This);
  30542.         
  30543.         ULONG ( STDMETHODCALLTYPE *Release )( 
  30544.             IVMRImagePresenterConfig * This);
  30545.         
  30546.         HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )( 
  30547.             IVMRImagePresenterConfig * This,
  30548.             /* [in] */ DWORD dwRenderFlags);
  30549.         
  30550.         HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )( 
  30551.             IVMRImagePresenterConfig * This,
  30552.             /* [out] */ DWORD *dwRenderFlags);
  30553.         
  30554.         END_INTERFACE
  30555.     } IVMRImagePresenterConfigVtbl;
  30556.  
  30557.     interface IVMRImagePresenterConfig
  30558.     {
  30559.         CONST_VTBL struct IVMRImagePresenterConfigVtbl *lpVtbl;
  30560.     };
  30561.  
  30562.     
  30563.  
  30564. #ifdef COBJMACROS
  30565.  
  30566.  
  30567. #define IVMRImagePresenterConfig_QueryInterface(This,riid,ppvObject)    \
  30568.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  30569.  
  30570. #define IVMRImagePresenterConfig_AddRef(This)    \
  30571.     (This)->lpVtbl -> AddRef(This)
  30572.  
  30573. #define IVMRImagePresenterConfig_Release(This)    \
  30574.     (This)->lpVtbl -> Release(This)
  30575.  
  30576.  
  30577. #define IVMRImagePresenterConfig_SetRenderingPrefs(This,dwRenderFlags)    \
  30578.     (This)->lpVtbl -> SetRenderingPrefs(This,dwRenderFlags)
  30579.  
  30580. #define IVMRImagePresenterConfig_GetRenderingPrefs(This,dwRenderFlags)    \
  30581.     (This)->lpVtbl -> GetRenderingPrefs(This,dwRenderFlags)
  30582.  
  30583. #endif /* COBJMACROS */
  30584.  
  30585.  
  30586. #endif     /* C style interface */
  30587.  
  30588.  
  30589.  
  30590. HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig_SetRenderingPrefs_Proxy( 
  30591.     IVMRImagePresenterConfig * This,
  30592.     /* [in] */ DWORD dwRenderFlags);
  30593.  
  30594.  
  30595. void __RPC_STUB IVMRImagePresenterConfig_SetRenderingPrefs_Stub(
  30596.     IRpcStubBuffer *This,
  30597.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30598.     PRPC_MESSAGE _pRpcMessage,
  30599.     DWORD *_pdwStubPhase);
  30600.  
  30601.  
  30602. HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig_GetRenderingPrefs_Proxy( 
  30603.     IVMRImagePresenterConfig * This,
  30604.     /* [out] */ DWORD *dwRenderFlags);
  30605.  
  30606.  
  30607. void __RPC_STUB IVMRImagePresenterConfig_GetRenderingPrefs_Stub(
  30608.     IRpcStubBuffer *This,
  30609.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30610.     PRPC_MESSAGE _pRpcMessage,
  30611.     DWORD *_pdwStubPhase);
  30612.  
  30613.  
  30614.  
  30615. #endif     /* __IVMRImagePresenterConfig_INTERFACE_DEFINED__ */
  30616.  
  30617.  
  30618. #ifndef __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__
  30619. #define __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__
  30620.  
  30621. /* interface IVMRImagePresenterExclModeConfig */
  30622. /* [unique][helpstring][uuid][local][object][local] */ 
  30623.  
  30624.  
  30625. EXTERN_C const IID IID_IVMRImagePresenterExclModeConfig;
  30626.  
  30627. #if defined(__cplusplus) && !defined(CINTERFACE)
  30628.     
  30629.     MIDL_INTERFACE("e6f7ce40-4673-44f1-8f77-5499d68cb4ea")
  30630.     IVMRImagePresenterExclModeConfig : public IVMRImagePresenterConfig
  30631.     {
  30632.     public:
  30633.         virtual HRESULT STDMETHODCALLTYPE SetXlcModeDDObjAndPrimarySurface( 
  30634.             /* [in] */ LPDIRECTDRAW7 lpDDObj,
  30635.             /* [in] */ LPDIRECTDRAWSURFACE7 lpPrimarySurf) = 0;
  30636.         
  30637.         virtual HRESULT STDMETHODCALLTYPE GetXlcModeDDObjAndPrimarySurface( 
  30638.             /* [out] */ LPDIRECTDRAW7 *lpDDObj,
  30639.             /* [out] */ LPDIRECTDRAWSURFACE7 *lpPrimarySurf) = 0;
  30640.         
  30641.     };
  30642.     
  30643. #else     /* C style interface */
  30644.  
  30645.     typedef struct IVMRImagePresenterExclModeConfigVtbl
  30646.     {
  30647.         BEGIN_INTERFACE
  30648.         
  30649.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  30650.             IVMRImagePresenterExclModeConfig * This,
  30651.             /* [in] */ REFIID riid,
  30652.             /* [iid_is][out] */ void **ppvObject);
  30653.         
  30654.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  30655.             IVMRImagePresenterExclModeConfig * This);
  30656.         
  30657.         ULONG ( STDMETHODCALLTYPE *Release )( 
  30658.             IVMRImagePresenterExclModeConfig * This);
  30659.         
  30660.         HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )( 
  30661.             IVMRImagePresenterExclModeConfig * This,
  30662.             /* [in] */ DWORD dwRenderFlags);
  30663.         
  30664.         HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )( 
  30665.             IVMRImagePresenterExclModeConfig * This,
  30666.             /* [out] */ DWORD *dwRenderFlags);
  30667.         
  30668.         HRESULT ( STDMETHODCALLTYPE *SetXlcModeDDObjAndPrimarySurface )( 
  30669.             IVMRImagePresenterExclModeConfig * This,
  30670.             /* [in] */ LPDIRECTDRAW7 lpDDObj,
  30671.             /* [in] */ LPDIRECTDRAWSURFACE7 lpPrimarySurf);
  30672.         
  30673.         HRESULT ( STDMETHODCALLTYPE *GetXlcModeDDObjAndPrimarySurface )( 
  30674.             IVMRImagePresenterExclModeConfig * This,
  30675.             /* [out] */ LPDIRECTDRAW7 *lpDDObj,
  30676.             /* [out] */ LPDIRECTDRAWSURFACE7 *lpPrimarySurf);
  30677.         
  30678.         END_INTERFACE
  30679.     } IVMRImagePresenterExclModeConfigVtbl;
  30680.  
  30681.     interface IVMRImagePresenterExclModeConfig
  30682.     {
  30683.         CONST_VTBL struct IVMRImagePresenterExclModeConfigVtbl *lpVtbl;
  30684.     };
  30685.  
  30686.     
  30687.  
  30688. #ifdef COBJMACROS
  30689.  
  30690.  
  30691. #define IVMRImagePresenterExclModeConfig_QueryInterface(This,riid,ppvObject)    \
  30692.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  30693.  
  30694. #define IVMRImagePresenterExclModeConfig_AddRef(This)    \
  30695.     (This)->lpVtbl -> AddRef(This)
  30696.  
  30697. #define IVMRImagePresenterExclModeConfig_Release(This)    \
  30698.     (This)->lpVtbl -> Release(This)
  30699.  
  30700.  
  30701. #define IVMRImagePresenterExclModeConfig_SetRenderingPrefs(This,dwRenderFlags)    \
  30702.     (This)->lpVtbl -> SetRenderingPrefs(This,dwRenderFlags)
  30703.  
  30704. #define IVMRImagePresenterExclModeConfig_GetRenderingPrefs(This,dwRenderFlags)    \
  30705.     (This)->lpVtbl -> GetRenderingPrefs(This,dwRenderFlags)
  30706.  
  30707.  
  30708. #define IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)    \
  30709.     (This)->lpVtbl -> SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)
  30710.  
  30711. #define IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)    \
  30712.     (This)->lpVtbl -> GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)
  30713.  
  30714. #endif /* COBJMACROS */
  30715.  
  30716.  
  30717. #endif     /* C style interface */
  30718.  
  30719.  
  30720.  
  30721. HRESULT STDMETHODCALLTYPE IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Proxy( 
  30722.     IVMRImagePresenterExclModeConfig * This,
  30723.     /* [in] */ LPDIRECTDRAW7 lpDDObj,
  30724.     /* [in] */ LPDIRECTDRAWSURFACE7 lpPrimarySurf);
  30725.  
  30726.  
  30727. void __RPC_STUB IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Stub(
  30728.     IRpcStubBuffer *This,
  30729.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30730.     PRPC_MESSAGE _pRpcMessage,
  30731.     DWORD *_pdwStubPhase);
  30732.  
  30733.  
  30734. HRESULT STDMETHODCALLTYPE IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Proxy( 
  30735.     IVMRImagePresenterExclModeConfig * This,
  30736.     /* [out] */ LPDIRECTDRAW7 *lpDDObj,
  30737.     /* [out] */ LPDIRECTDRAWSURFACE7 *lpPrimarySurf);
  30738.  
  30739.  
  30740. void __RPC_STUB IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Stub(
  30741.     IRpcStubBuffer *This,
  30742.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30743.     PRPC_MESSAGE _pRpcMessage,
  30744.     DWORD *_pdwStubPhase);
  30745.  
  30746.  
  30747.  
  30748. #endif     /* __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__ */
  30749.  
  30750.  
  30751. #ifndef __IVPManager_INTERFACE_DEFINED__
  30752. #define __IVPManager_INTERFACE_DEFINED__
  30753.  
  30754. /* interface IVPManager */
  30755. /* [unique][helpstring][uuid][local][object][local] */ 
  30756.  
  30757.  
  30758. EXTERN_C const IID IID_IVPManager;
  30759.  
  30760. #if defined(__cplusplus) && !defined(CINTERFACE)
  30761.     
  30762.     MIDL_INTERFACE("aac18c18-e186-46d2-825d-a1f8dc8e395a")
  30763.     IVPManager : public IUnknown
  30764.     {
  30765.     public:
  30766.         virtual HRESULT STDMETHODCALLTYPE SetVideoPortIndex( 
  30767.             /* [in] */ DWORD dwVideoPortIndex) = 0;
  30768.         
  30769.         virtual HRESULT STDMETHODCALLTYPE GetVideoPortIndex( 
  30770.             /* [out] */ DWORD *pdwVideoPortIndex) = 0;
  30771.         
  30772.     };
  30773.     
  30774. #else     /* C style interface */
  30775.  
  30776.     typedef struct IVPManagerVtbl
  30777.     {
  30778.         BEGIN_INTERFACE
  30779.         
  30780.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  30781.             IVPManager * This,
  30782.             /* [in] */ REFIID riid,
  30783.             /* [iid_is][out] */ void **ppvObject);
  30784.         
  30785.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  30786.             IVPManager * This);
  30787.         
  30788.         ULONG ( STDMETHODCALLTYPE *Release )( 
  30789.             IVPManager * This);
  30790.         
  30791.         HRESULT ( STDMETHODCALLTYPE *SetVideoPortIndex )( 
  30792.             IVPManager * This,
  30793.             /* [in] */ DWORD dwVideoPortIndex);
  30794.         
  30795.         HRESULT ( STDMETHODCALLTYPE *GetVideoPortIndex )( 
  30796.             IVPManager * This,
  30797.             /* [out] */ DWORD *pdwVideoPortIndex);
  30798.         
  30799.         END_INTERFACE
  30800.     } IVPManagerVtbl;
  30801.  
  30802.     interface IVPManager
  30803.     {
  30804.         CONST_VTBL struct IVPManagerVtbl *lpVtbl;
  30805.     };
  30806.  
  30807.     
  30808.  
  30809. #ifdef COBJMACROS
  30810.  
  30811.  
  30812. #define IVPManager_QueryInterface(This,riid,ppvObject)    \
  30813.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  30814.  
  30815. #define IVPManager_AddRef(This)    \
  30816.     (This)->lpVtbl -> AddRef(This)
  30817.  
  30818. #define IVPManager_Release(This)    \
  30819.     (This)->lpVtbl -> Release(This)
  30820.  
  30821.  
  30822. #define IVPManager_SetVideoPortIndex(This,dwVideoPortIndex)    \
  30823.     (This)->lpVtbl -> SetVideoPortIndex(This,dwVideoPortIndex)
  30824.  
  30825. #define IVPManager_GetVideoPortIndex(This,pdwVideoPortIndex)    \
  30826.     (This)->lpVtbl -> GetVideoPortIndex(This,pdwVideoPortIndex)
  30827.  
  30828. #endif /* COBJMACROS */
  30829.  
  30830.  
  30831. #endif     /* C style interface */
  30832.  
  30833.  
  30834.  
  30835. HRESULT STDMETHODCALLTYPE IVPManager_SetVideoPortIndex_Proxy( 
  30836.     IVPManager * This,
  30837.     /* [in] */ DWORD dwVideoPortIndex);
  30838.  
  30839.  
  30840. void __RPC_STUB IVPManager_SetVideoPortIndex_Stub(
  30841.     IRpcStubBuffer *This,
  30842.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30843.     PRPC_MESSAGE _pRpcMessage,
  30844.     DWORD *_pdwStubPhase);
  30845.  
  30846.  
  30847. HRESULT STDMETHODCALLTYPE IVPManager_GetVideoPortIndex_Proxy( 
  30848.     IVPManager * This,
  30849.     /* [out] */ DWORD *pdwVideoPortIndex);
  30850.  
  30851.  
  30852. void __RPC_STUB IVPManager_GetVideoPortIndex_Stub(
  30853.     IRpcStubBuffer *This,
  30854.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30855.     PRPC_MESSAGE _pRpcMessage,
  30856.     DWORD *_pdwStubPhase);
  30857.  
  30858.  
  30859.  
  30860. #endif     /* __IVPManager_INTERFACE_DEFINED__ */
  30861.  
  30862.  
  30863. /* interface __MIDL_itf_strmif_0406 */
  30864. /* [local] */ 
  30865.  
  30866. // Restore the previous setting for C4201 compiler warning
  30867. #pragma warning(pop)
  30868.  
  30869.  
  30870. extern RPC_IF_HANDLE __MIDL_itf_strmif_0406_v0_0_c_ifspec;
  30871. extern RPC_IF_HANDLE __MIDL_itf_strmif_0406_v0_0_s_ifspec;
  30872.  
  30873. /* Additional Prototypes for ALL interfaces */
  30874.  
  30875. unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
  30876. unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
  30877. unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
  30878. void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 
  30879.  
  30880. /* [local] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_FindInterface_Proxy( 
  30881.     ICaptureGraphBuilder * This,
  30882.     /* [unique][in] */ const GUID *pCategory,
  30883.     /* [in] */ IBaseFilter *pf,
  30884.     /* [in] */ REFIID riid,
  30885.     /* [out] */ void **ppint);
  30886.  
  30887.  
  30888. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_FindInterface_Stub( 
  30889.     ICaptureGraphBuilder * This,
  30890.     /* [unique][in] */ const GUID *pCategory,
  30891.     /* [in] */ IBaseFilter *pf,
  30892.     /* [in] */ REFIID riid,
  30893.     /* [out] */ IUnknown **ppint);
  30894.  
  30895. /* [local] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindInterface_Proxy( 
  30896.     ICaptureGraphBuilder2 * This,
  30897.     /* [in] */ const GUID *pCategory,
  30898.     /* [in] */ const GUID *pType,
  30899.     /* [in] */ IBaseFilter *pf,
  30900.     /* [in] */ REFIID riid,
  30901.     /* [out] */ void **ppint);
  30902.  
  30903.  
  30904. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindInterface_Stub( 
  30905.     ICaptureGraphBuilder2 * This,
  30906.     /* [in] */ const GUID *pCategory,
  30907.     /* [in] */ const GUID *pType,
  30908.     /* [in] */ IBaseFilter *pf,
  30909.     /* [in] */ REFIID riid,
  30910.     /* [out] */ IUnknown **ppint);
  30911.  
  30912. /* [local] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Set_Proxy( 
  30913.     IKsPropertySet * This,
  30914.     /* [in] */ REFGUID guidPropSet,
  30915.     /* [in] */ DWORD dwPropID,
  30916.     /* [size_is][in] */ LPVOID pInstanceData,
  30917.     /* [in] */ DWORD cbInstanceData,
  30918.     /* [size_is][in] */ LPVOID pPropData,
  30919.     /* [in] */ DWORD cbPropData);
  30920.  
  30921.  
  30922. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Set_Stub( 
  30923.     IKsPropertySet * This,
  30924.     /* [in] */ REFGUID guidPropSet,
  30925.     /* [in] */ DWORD dwPropID,
  30926.     /* [size_is][in] */ byte *pInstanceData,
  30927.     /* [in] */ DWORD cbInstanceData,
  30928.     /* [size_is][in] */ byte *pPropData,
  30929.     /* [in] */ DWORD cbPropData);
  30930.  
  30931. /* [local] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Get_Proxy( 
  30932.     IKsPropertySet * This,
  30933.     /* [in] */ REFGUID guidPropSet,
  30934.     /* [in] */ DWORD dwPropID,
  30935.     /* [size_is][in] */ LPVOID pInstanceData,
  30936.     /* [in] */ DWORD cbInstanceData,
  30937.     /* [size_is][out] */ LPVOID pPropData,
  30938.     /* [in] */ DWORD cbPropData,
  30939.     /* [out] */ DWORD *pcbReturned);
  30940.  
  30941.  
  30942. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Get_Stub( 
  30943.     IKsPropertySet * This,
  30944.     /* [in] */ REFGUID guidPropSet,
  30945.     /* [in] */ DWORD dwPropID,
  30946.     /* [size_is][in] */ byte *pInstanceData,
  30947.     /* [in] */ DWORD cbInstanceData,
  30948.     /* [size_is][out] */ byte *pPropData,
  30949.     /* [in] */ DWORD cbPropData,
  30950.     /* [out] */ DWORD *pcbReturned);
  30951.  
  30952.  
  30953.  
  30954. /* end of Additional Prototypes */
  30955.  
  30956. #ifdef __cplusplus
  30957. }
  30958. #endif
  30959.  
  30960. #endif
  30961.  
  30962.  
  30963.